@cat-factory/app 0.273.1 → 0.274.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.
@@ -31,6 +31,7 @@ const FAMILIES = [
31
31
  'kimi',
32
32
  'deepseek',
33
33
  'glm',
34
+ 'grok',
34
35
  ] as const satisfies readonly ModelFamily[]
35
36
  const REGIONS = ['usa', 'europe', 'china', 'other'] as const satisfies readonly AccountRegion[]
36
37
  const MODES = ['off', 'blocklist', 'allowlist'] as const satisfies readonly ModelPolicyMode[]
@@ -47,6 +48,7 @@ const familyLabels = computed<Record<ModelFamily, string>>(() => ({
47
48
  kimi: t('settings.modelPolicy.families.kimi'),
48
49
  deepseek: t('settings.modelPolicy.families.deepseek'),
49
50
  glm: t('settings.modelPolicy.families.glm'),
51
+ grok: t('settings.modelPolicy.families.grok'),
50
52
  }))
51
53
  const regionLabels = computed<Record<AccountRegion, string>>(() => ({
52
54
  usa: t('settings.modelPolicy.regions.usa'),
@@ -32,6 +32,9 @@ const META: Record<Notification['type'], { icon: string; color: Accent }> = {
32
32
  merge_tag_request: { icon: 'i-lucide-tag', color: 'primary' },
33
33
  ci_failed: { icon: 'i-lucide-triangle-alert', color: 'error' },
34
34
  test_failed: { icon: 'i-lucide-flask-conical', color: 'error' },
35
+ // The deploy-fixer gave up on an environment that would not come up. Same disposition as
36
+ // `ci_failed`: the run failed, and "act" retries it once the files are fixed.
37
+ deploy_blocked: { icon: 'i-lucide-server-off', color: 'error' },
35
38
  // Clicking the title opens the review window for the task (see `reveal`); "act" just marks
36
39
  // it read (the server performs no side-effect for this type).
37
40
  requirement_review: { icon: 'i-lucide-clipboard-list', color: 'primary' },
@@ -97,6 +100,7 @@ const ACTION_KEYS: Record<Notification['type'], string> = {
97
100
  merge_tag_request: 'layout.notifications.action.merge_tag_request',
98
101
  ci_failed: 'layout.notifications.action.ci_failed',
99
102
  test_failed: 'layout.notifications.action.test_failed',
103
+ deploy_blocked: 'layout.notifications.action.deploy_blocked',
100
104
  requirement_review: 'layout.notifications.action.requirement_review',
101
105
  clarity_review: 'layout.notifications.action.clarity_review',
102
106
  release_regression: 'layout.notifications.action.release_regression',
@@ -110,6 +110,13 @@ const DIRECT_PROVIDERS = computed<ProviderMeta[]>(() => [
110
110
  t('providers.apiKeys.providers.moonshot.step2'),
111
111
  ],
112
112
  },
113
+ {
114
+ value: 'xai',
115
+ label: t('providers.apiKeys.providers.xai.label'),
116
+ url: 'https://console.x.ai/',
117
+ steps: [t('providers.apiKeys.providers.xai.step1'), t('providers.apiKeys.providers.xai.step2')],
118
+ caches: true,
119
+ },
113
120
  ])
114
121
 
115
122
  /** Proxies / gateways: one key fronts many vendors. These are intermediaries, not vendors. */
@@ -36,6 +36,7 @@ const ROUTABLE = computed<{ type: NotificationType; label: string }[]>(() => [
36
36
  { type: 'merge_tag_request', label: t('slack.routable.merge_tag_request') },
37
37
  { type: 'ci_failed', label: t('slack.routable.ci_failed') },
38
38
  { type: 'test_failed', label: t('slack.routable.test_failed') },
39
+ { type: 'deploy_blocked', label: t('slack.routable.deploy_blocked') },
39
40
  { type: 'requirement_review', label: t('slack.routable.requirement_review') },
40
41
  { type: 'clarity_review', label: t('slack.routable.clarity_review') },
41
42
  { type: 'release_regression', label: t('slack.routable.release_regression') },
@@ -60,6 +61,7 @@ const routes = reactive<Record<NotificationType, SlackRoute>>({
60
61
  merge_tag_request: { enabled: false, channel: '' },
61
62
  ci_failed: { enabled: false, channel: '' },
62
63
  test_failed: { enabled: false, channel: '' },
64
+ deploy_blocked: { enabled: false, channel: '' },
63
65
  requirement_review: { enabled: false, channel: '' },
64
66
  clarity_review: { enabled: false, channel: '' },
65
67
  release_regression: { enabled: false, channel: '' },
@@ -158,16 +158,11 @@ describe('catalog', () => {
158
158
  for (const a of AGENT_ARCHETYPES) {
159
159
  expect(agentKindMeta(a.kind)).toBe(a)
160
160
  }
161
- // Engine system kinds (present in seeded pipelines but not the palette) resolve
162
- // to their system metadata rather than blowing up an undefined access.
163
- for (const kind of [
164
- 'conflicts',
165
- 'conflict-resolver',
166
- 'ci',
167
- 'ci-fixer',
168
- 'merger',
169
- 'post-release-health',
170
- ]) {
161
+ // Engine system kinds (present in seeded pipelines but not the palette) resolve to their
162
+ // system metadata rather than blowing up an undefined access. Read off the map itself rather
163
+ // than a hand-kept sample: a kind added there is exactly the one nobody thinks to add here,
164
+ // and it renders as a generic "Agent" until somebody notices.
165
+ for (const kind of Object.keys(SYSTEM_AGENT_META)) {
171
166
  expect(agentKindMeta(kind)).toBe(SYSTEM_AGENT_META[kind])
172
167
  expect(agentKindMeta(kind).icon).toEqual(expect.any(String))
173
168
  }
@@ -737,6 +737,18 @@ export const SYSTEM_AGENT_META: Record<string, AgentArchetype> = {
737
737
  color: '#38bdf8',
738
738
  description: 'Fixes failing CI and pushes back to the PR branch.',
739
739
  },
740
+ // The deployer's escalation, and the ci-fixer's shape one step earlier in the pipeline: never a
741
+ // palette block (nobody authors it into a pipeline), but it runs an LLM over the checkout, so it
742
+ // needs display metadata for timelines and a pinnable per-workspace model.
743
+ 'deploy-fixer': {
744
+ kind: 'deploy-fixer',
745
+ tier: 'basic',
746
+ label: 'Deploy Fixer',
747
+ icon: 'i-lucide-server-cog',
748
+ color: '#0ea5e9',
749
+ description:
750
+ 'Repairs the deployment files a failed provision was rejected for and pushes back to the PR branch, then the environment is stood up again.',
751
+ },
740
752
  fixer: {
741
753
  kind: 'fixer',
742
754
  tier: 'basic',
@@ -826,6 +838,7 @@ export const MODEL_CONFIGURABLE_SYSTEM_KINDS: AgentArchetype[] = [
826
838
  'initiative-planner',
827
839
  'conflict-resolver',
828
840
  'ci-fixer',
841
+ 'deploy-fixer',
829
842
  'fixer',
830
843
  'merger',
831
844
  'kaizen',
@@ -1240,7 +1240,8 @@
1240
1240
  "qwen": "Qwen (Alibaba)",
1241
1241
  "kimi": "Kimi (Moonshot)",
1242
1242
  "deepseek": "DeepSeek",
1243
- "glm": "GLM (Z.ai)"
1243
+ "glm": "GLM (Z.ai)",
1244
+ "grok": "Grok (xAI)"
1244
1245
  },
1245
1246
  "regions": {
1246
1247
  "usa": "Vereinigte Staaten",
@@ -2489,6 +2490,7 @@
2489
2490
  "pipeline_complete": "Bestätigen & mergen",
2490
2491
  "ci_failed": "Lauf wiederholen",
2491
2492
  "test_failed": "Lauf wiederholen",
2493
+ "deploy_blocked": "Lauf wiederholen",
2492
2494
  "requirement_review": "Als gelesen markieren",
2493
2495
  "clarity_review": "Als gelesen markieren",
2494
2496
  "release_regression": "Bestätigen",
@@ -3394,6 +3396,11 @@
3394
3396
  "step1": "Öffnen Sie platform.moonshot.ai → API Keys und erstellen Sie einen Schlüssel.",
3395
3397
  "step2": "Kopieren Sie den Schlüssel; er authentifiziert den OpenAI-kompatiblen Moonshot-Endpunkt."
3396
3398
  },
3399
+ "xai": {
3400
+ "label": "xAI (Grok API)",
3401
+ "step1": "Öffnen Sie console.x.ai → API Keys und erstellen Sie einen Schlüssel.",
3402
+ "step2": "Kopieren Sie den Schlüssel; er authentifiziert den OpenAI-kompatiblen xAI-Endpunkt."
3403
+ },
3397
3404
  "openrouter": {
3398
3405
  "label": "OpenRouter",
3399
3406
  "step1": "Öffnen Sie openrouter.ai → Keys und erstellen Sie einen API-Schlüssel.",
@@ -5960,6 +5967,7 @@
5960
5967
  "pipeline_complete": "Pipeline abgeschlossen",
5961
5968
  "ci_failed": "CI fehlgeschlagen",
5962
5969
  "test_failed": "Tests fehlgeschlagen",
5970
+ "deploy_blocked": "Deployment blockiert",
5963
5971
  "requirement_review": "Anforderungs-Review",
5964
5972
  "clarity_review": "Klarheits-Review",
5965
5973
  "release_regression": "Release-Regression",
@@ -6023,6 +6031,7 @@
6023
6031
  "pipeline_complete": "Pipeline abgeschlossen",
6024
6032
  "ci_failed": "CI fehlgeschlagen",
6025
6033
  "test_failed": "Tests fehlgeschlagen",
6034
+ "deploy_blocked": "Deployment blockiert",
6026
6035
  "requirement_review": "Anforderungs-Review",
6027
6036
  "clarity_review": "Klarheits-Review",
6028
6037
  "release_regression": "Release-Regression",
@@ -2317,6 +2317,7 @@
2317
2317
  "pipeline_complete": "Confirm & merge",
2318
2318
  "ci_failed": "Retry run",
2319
2319
  "test_failed": "Retry run",
2320
+ "deploy_blocked": "Retry run",
2320
2321
  "requirement_review": "Mark read",
2321
2322
  "clarity_review": "Mark read",
2322
2323
  "release_regression": "Acknowledge",
@@ -4001,7 +4002,8 @@
4001
4002
  "qwen": "Qwen (Alibaba)",
4002
4003
  "kimi": "Kimi (Moonshot)",
4003
4004
  "deepseek": "DeepSeek",
4004
- "glm": "GLM (Z.ai)"
4005
+ "glm": "GLM (Z.ai)",
4006
+ "grok": "Grok (xAI)"
4005
4007
  },
4006
4008
  "regions": {
4007
4009
  "usa": "United States",
@@ -4280,6 +4282,11 @@
4280
4282
  "step1": "Open platform.moonshot.ai → API Keys and create a key.",
4281
4283
  "step2": "Copy the key; it authenticates the OpenAI-compatible Moonshot endpoint."
4282
4284
  },
4285
+ "xai": {
4286
+ "label": "xAI (Grok API)",
4287
+ "step1": "Open console.x.ai → API Keys and create a key.",
4288
+ "step2": "Copy the key; it authenticates the OpenAI-compatible xAI endpoint."
4289
+ },
4283
4290
  "openrouter": {
4284
4291
  "label": "OpenRouter",
4285
4292
  "step1": "Open openrouter.ai → Keys and create an API key.",
@@ -4538,6 +4545,7 @@
4538
4545
  "pipeline_complete": "Pipeline complete",
4539
4546
  "ci_failed": "CI failed",
4540
4547
  "test_failed": "Tests failed",
4548
+ "deploy_blocked": "Deployment blocked",
4541
4549
  "requirement_review": "Requirement review",
4542
4550
  "clarity_review": "Clarity review",
4543
4551
  "release_regression": "Release regression",
@@ -4601,6 +4609,7 @@
4601
4609
  "pipeline_complete": "Pipeline complete",
4602
4610
  "ci_failed": "CI failed",
4603
4611
  "test_failed": "Tests failed",
4612
+ "deploy_blocked": "Deployment blocked",
4604
4613
  "requirement_review": "Requirement review",
4605
4614
  "clarity_review": "Clarity review",
4606
4615
  "release_regression": "Release regression",
@@ -2204,6 +2204,7 @@
2204
2204
  "pipeline_complete": "Confirmar y fusionar",
2205
2205
  "ci_failed": "Reintentar ejecución",
2206
2206
  "test_failed": "Reintentar ejecución",
2207
+ "deploy_blocked": "Reintentar ejecución",
2207
2208
  "requirement_review": "Marcar como leída",
2208
2209
  "clarity_review": "Marcar como leída",
2209
2210
  "release_regression": "Confirmar recepción",
@@ -3861,7 +3862,8 @@
3861
3862
  "qwen": "Qwen (Alibaba)",
3862
3863
  "kimi": "Kimi (Moonshot)",
3863
3864
  "deepseek": "DeepSeek",
3864
- "glm": "GLM (Z.ai)"
3865
+ "glm": "GLM (Z.ai)",
3866
+ "grok": "Grok (xAI)"
3865
3867
  },
3866
3868
  "regions": {
3867
3869
  "usa": "Estados Unidos",
@@ -4137,6 +4139,11 @@
4137
4139
  "step1": "Abre platform.moonshot.ai → API Keys y crea una clave.",
4138
4140
  "step2": "Copia la clave; autentica el endpoint de Moonshot compatible con OpenAI."
4139
4141
  },
4142
+ "xai": {
4143
+ "label": "xAI (API de Grok)",
4144
+ "step1": "Abre console.x.ai → API Keys y crea una clave.",
4145
+ "step2": "Copia la clave; autentica el endpoint de xAI compatible con OpenAI."
4146
+ },
4140
4147
  "openrouter": {
4141
4148
  "label": "OpenRouter",
4142
4149
  "step1": "Abre openrouter.ai → Keys y crea una clave de API.",
@@ -4383,6 +4390,7 @@
4383
4390
  "pipeline_complete": "Pipeline completado",
4384
4391
  "ci_failed": "CI fallido",
4385
4392
  "test_failed": "Pruebas fallidas",
4393
+ "deploy_blocked": "Despliegue bloqueado",
4386
4394
  "requirement_review": "Revision de requisitos",
4387
4395
  "clarity_review": "Revision de claridad",
4388
4396
  "release_regression": "Regresion de version",
@@ -4446,6 +4454,7 @@
4446
4454
  "pipeline_complete": "Pipeline completado",
4447
4455
  "ci_failed": "CI fallido",
4448
4456
  "test_failed": "Pruebas fallidas",
4457
+ "deploy_blocked": "Despliegue bloqueado",
4449
4458
  "requirement_review": "Revision de requisitos",
4450
4459
  "clarity_review": "Revision de claridad",
4451
4460
  "release_regression": "Regresion de version",
@@ -2204,6 +2204,7 @@
2204
2204
  "pipeline_complete": "Confirmer et fusionner",
2205
2205
  "ci_failed": "Relancer l'exécution",
2206
2206
  "test_failed": "Relancer l'exécution",
2207
+ "deploy_blocked": "Relancer l'exécution",
2207
2208
  "requirement_review": "Marquer comme lu",
2208
2209
  "clarity_review": "Marquer comme lu",
2209
2210
  "release_regression": "Accuser réception",
@@ -3861,7 +3862,8 @@
3861
3862
  "qwen": "Qwen (Alibaba)",
3862
3863
  "kimi": "Kimi (Moonshot)",
3863
3864
  "deepseek": "DeepSeek",
3864
- "glm": "GLM (Z.ai)"
3865
+ "glm": "GLM (Z.ai)",
3866
+ "grok": "Grok (xAI)"
3865
3867
  },
3866
3868
  "regions": {
3867
3869
  "usa": "États-Unis",
@@ -4137,6 +4139,11 @@
4137
4139
  "step1": "Ouvrez platform.moonshot.ai → API Keys et créez une clé.",
4138
4140
  "step2": "Copiez la clé ; elle authentifie l'endpoint Moonshot compatible OpenAI."
4139
4141
  },
4142
+ "xai": {
4143
+ "label": "xAI (API Grok)",
4144
+ "step1": "Ouvrez console.x.ai → API Keys et créez une clé.",
4145
+ "step2": "Copiez la clé ; elle authentifie l'endpoint xAI compatible OpenAI."
4146
+ },
4140
4147
  "openrouter": {
4141
4148
  "label": "OpenRouter",
4142
4149
  "step1": "Ouvrez openrouter.ai → Keys et créez une clé d'API.",
@@ -4383,6 +4390,7 @@
4383
4390
  "pipeline_complete": "Pipeline termine",
4384
4391
  "ci_failed": "Echec de CI",
4385
4392
  "test_failed": "Echec des tests",
4393
+ "deploy_blocked": "Déploiement bloqué",
4386
4394
  "requirement_review": "Revue des exigences",
4387
4395
  "clarity_review": "Revue de clarte",
4388
4396
  "release_regression": "Regression de version",
@@ -4446,6 +4454,7 @@
4446
4454
  "pipeline_complete": "Pipeline termine",
4447
4455
  "ci_failed": "Echec de CI",
4448
4456
  "test_failed": "Echec des tests",
4457
+ "deploy_blocked": "Déploiement bloqué",
4449
4458
  "requirement_review": "Revue des exigences",
4450
4459
  "clarity_review": "Revue de clarte",
4451
4460
  "release_regression": "Regression de version",
@@ -2204,6 +2204,7 @@
2204
2204
  "pipeline_complete": "אשר ומזג",
2205
2205
  "ci_failed": "נסה הרצה שוב",
2206
2206
  "test_failed": "נסה הרצה שוב",
2207
+ "deploy_blocked": "נסה הרצה שוב",
2207
2208
  "requirement_review": "סמן כנקרא",
2208
2209
  "clarity_review": "סמן כנקרא",
2209
2210
  "release_regression": "אשר",
@@ -3861,7 +3862,8 @@
3861
3862
  "qwen": "Qwen (Alibaba)",
3862
3863
  "kimi": "Kimi (Moonshot)",
3863
3864
  "deepseek": "DeepSeek",
3864
- "glm": "GLM (Z.ai)"
3865
+ "glm": "GLM (Z.ai)",
3866
+ "grok": "Grok (xAI)"
3865
3867
  },
3866
3868
  "regions": {
3867
3869
  "usa": "ארצות הברית",
@@ -4137,6 +4139,11 @@
4137
4139
  "step1": "פתח את platform.moonshot.ai → API Keys וצור מפתח.",
4138
4140
  "step2": "העתק את המפתח; הוא מאמת את נקודת הקצה של Moonshot התואמת ל-OpenAI."
4139
4141
  },
4142
+ "xai": {
4143
+ "label": "xAI (Grok API)",
4144
+ "step1": "פתח את console.x.ai → API Keys וצור מפתח.",
4145
+ "step2": "העתק את המפתח; הוא מאמת את נקודת הקצה של xAI התואמת ל-OpenAI."
4146
+ },
4140
4147
  "openrouter": {
4141
4148
  "label": "OpenRouter",
4142
4149
  "step1": "פתח את openrouter.ai → Keys וצור מפתח API.",
@@ -4383,6 +4390,7 @@
4383
4390
  "pipeline_complete": "הצינור הושלם",
4384
4391
  "ci_failed": "CI נכשל",
4385
4392
  "test_failed": "הבדיקות נכשלו",
4393
+ "deploy_blocked": "הפריסה חסומה",
4386
4394
  "requirement_review": "סקירת דרישות",
4387
4395
  "clarity_review": "סקירת בהירות",
4388
4396
  "release_regression": "רגרסיית שחרור",
@@ -4446,6 +4454,7 @@
4446
4454
  "pipeline_complete": "הצינור הושלם",
4447
4455
  "ci_failed": "CI נכשל",
4448
4456
  "test_failed": "הבדיקות נכשלו",
4457
+ "deploy_blocked": "הפריסה חסומה",
4449
4458
  "requirement_review": "סקירת דרישות",
4450
4459
  "clarity_review": "סקירת בהירות",
4451
4460
  "release_regression": "רגרסיית שחרור",
@@ -1240,7 +1240,8 @@
1240
1240
  "qwen": "Qwen (Alibaba)",
1241
1241
  "kimi": "Kimi (Moonshot)",
1242
1242
  "deepseek": "DeepSeek",
1243
- "glm": "GLM (Z.ai)"
1243
+ "glm": "GLM (Z.ai)",
1244
+ "grok": "Grok (xAI)"
1244
1245
  },
1245
1246
  "regions": {
1246
1247
  "usa": "Stati Uniti",
@@ -2489,6 +2490,7 @@
2489
2490
  "pipeline_complete": "Conferma e unisci",
2490
2491
  "ci_failed": "Riprova l'esecuzione",
2491
2492
  "test_failed": "Riprova l'esecuzione",
2493
+ "deploy_blocked": "Riprova l'esecuzione",
2492
2494
  "requirement_review": "Segna come letto",
2493
2495
  "clarity_review": "Segna come letto",
2494
2496
  "release_regression": "Conferma presa visione",
@@ -3394,6 +3396,11 @@
3394
3396
  "step1": "Apri platform.moonshot.ai → API Keys e crea una chiave.",
3395
3397
  "step2": "Copia la chiave; autentica l'endpoint Moonshot compatibile con OpenAI."
3396
3398
  },
3399
+ "xai": {
3400
+ "label": "xAI (Grok API)",
3401
+ "step1": "Apri console.x.ai → API Keys e crea una chiave.",
3402
+ "step2": "Copia la chiave; autentica l'endpoint xAI compatibile con OpenAI."
3403
+ },
3397
3404
  "openrouter": {
3398
3405
  "label": "OpenRouter",
3399
3406
  "step1": "Apri openrouter.ai → Keys e crea una chiave API.",
@@ -5960,6 +5967,7 @@
5960
5967
  "pipeline_complete": "Pipeline completata",
5961
5968
  "ci_failed": "CI non riuscita",
5962
5969
  "test_failed": "Test non riusciti",
5970
+ "deploy_blocked": "Deployment bloccato",
5963
5971
  "requirement_review": "Revisione dei requisiti",
5964
5972
  "clarity_review": "Revisione della chiarezza",
5965
5973
  "release_regression": "Regressione della release",
@@ -6023,6 +6031,7 @@
6023
6031
  "pipeline_complete": "Pipeline completata",
6024
6032
  "ci_failed": "CI non riuscita",
6025
6033
  "test_failed": "Test non riusciti",
6034
+ "deploy_blocked": "Deployment bloccato",
6026
6035
  "requirement_review": "Revisione dei requisiti",
6027
6036
  "clarity_review": "Revisione della chiarezza",
6028
6037
  "release_regression": "Regressione della release",
@@ -2204,6 +2204,7 @@
2204
2204
  "pipeline_complete": "確認してマージ",
2205
2205
  "ci_failed": "実行を再試行",
2206
2206
  "test_failed": "実行を再試行",
2207
+ "deploy_blocked": "実行を再試行",
2207
2208
  "requirement_review": "既読にする",
2208
2209
  "clarity_review": "既読にする",
2209
2210
  "release_regression": "確認",
@@ -3861,7 +3862,8 @@
3861
3862
  "qwen": "Qwen (Alibaba)",
3862
3863
  "kimi": "Kimi (Moonshot)",
3863
3864
  "deepseek": "DeepSeek",
3864
- "glm": "GLM (Z.ai)"
3865
+ "glm": "GLM (Z.ai)",
3866
+ "grok": "Grok (xAI)"
3865
3867
  },
3866
3868
  "regions": {
3867
3869
  "usa": "アメリカ合衆国",
@@ -4137,6 +4139,11 @@
4137
4139
  "step1": "platform.moonshot.ai → API Keys を開き、キーを作成します。",
4138
4140
  "step2": "キーをコピーします。OpenAI 互換の Moonshot エンドポイントを認証します。"
4139
4141
  },
4142
+ "xai": {
4143
+ "label": "xAI (Grok API)",
4144
+ "step1": "console.x.ai → API Keys を開き、キーを作成します。",
4145
+ "step2": "キーをコピーします。OpenAI 互換の xAI エンドポイントを認証します。"
4146
+ },
4140
4147
  "openrouter": {
4141
4148
  "label": "OpenRouter",
4142
4149
  "step1": "openrouter.ai → Keys を開き、API キーを作成します。",
@@ -4383,6 +4390,7 @@
4383
4390
  "pipeline_complete": "パイプライン完了",
4384
4391
  "ci_failed": "CI失敗",
4385
4392
  "test_failed": "テスト失敗",
4393
+ "deploy_blocked": "デプロイがブロックされました",
4386
4394
  "requirement_review": "要件レビュー",
4387
4395
  "clarity_review": "明確性レビュー",
4388
4396
  "release_regression": "リリースリグレッション",
@@ -4446,6 +4454,7 @@
4446
4454
  "pipeline_complete": "パイプライン完了",
4447
4455
  "ci_failed": "CI失敗",
4448
4456
  "test_failed": "テスト失敗",
4457
+ "deploy_blocked": "デプロイがブロックされました",
4449
4458
  "requirement_review": "要件レビュー",
4450
4459
  "clarity_review": "明確性レビュー",
4451
4460
  "release_regression": "リリースリグレッション",
@@ -2204,6 +2204,7 @@
2204
2204
  "pipeline_complete": "Potwierdź i scal",
2205
2205
  "ci_failed": "Ponów przebieg",
2206
2206
  "test_failed": "Ponów przebieg",
2207
+ "deploy_blocked": "Ponów przebieg",
2207
2208
  "requirement_review": "Oznacz jako przeczytane",
2208
2209
  "clarity_review": "Oznacz jako przeczytane",
2209
2210
  "release_regression": "Potwierdź",
@@ -3861,7 +3862,8 @@
3861
3862
  "qwen": "Qwen (Alibaba)",
3862
3863
  "kimi": "Kimi (Moonshot)",
3863
3864
  "deepseek": "DeepSeek",
3864
- "glm": "GLM (Z.ai)"
3865
+ "glm": "GLM (Z.ai)",
3866
+ "grok": "Grok (xAI)"
3865
3867
  },
3866
3868
  "regions": {
3867
3869
  "usa": "Stany Zjednoczone",
@@ -4137,6 +4139,11 @@
4137
4139
  "step1": "Otwórz platform.moonshot.ai → API Keys i utwórz klucz.",
4138
4140
  "step2": "Skopiuj klucz; uwierzytelnia on zgodny z OpenAI endpoint Moonshot."
4139
4141
  },
4142
+ "xai": {
4143
+ "label": "xAI (API Grok)",
4144
+ "step1": "Otwórz console.x.ai → API Keys i utwórz klucz.",
4145
+ "step2": "Skopiuj klucz; uwierzytelnia on zgodny z OpenAI endpoint xAI."
4146
+ },
4140
4147
  "openrouter": {
4141
4148
  "label": "OpenRouter",
4142
4149
  "step1": "Otwórz openrouter.ai → Keys i utwórz klucz API.",
@@ -4383,6 +4390,7 @@
4383
4390
  "pipeline_complete": "Pipeline ukonczony",
4384
4391
  "ci_failed": "Niepowodzenie CI",
4385
4392
  "test_failed": "Niepowodzenie testow",
4393
+ "deploy_blocked": "Wdrożenie zablokowane",
4386
4394
  "requirement_review": "Przeglad wymagan",
4387
4395
  "clarity_review": "Przeglad klarownosci",
4388
4396
  "release_regression": "Regresja wydania",
@@ -4446,6 +4454,7 @@
4446
4454
  "pipeline_complete": "Pipeline ukonczony",
4447
4455
  "ci_failed": "Niepowodzenie CI",
4448
4456
  "test_failed": "Niepowodzenie testow",
4457
+ "deploy_blocked": "Wdrożenie zablokowane",
4449
4458
  "requirement_review": "Przeglad wymagan",
4450
4459
  "clarity_review": "Przeglad klarownosci",
4451
4460
  "release_regression": "Regresja wydania",
@@ -2204,6 +2204,7 @@
2204
2204
  "pipeline_complete": "Onayla ve birleştir",
2205
2205
  "ci_failed": "Çalıştırmayı yeniden dene",
2206
2206
  "test_failed": "Çalıştırmayı yeniden dene",
2207
+ "deploy_blocked": "Çalıştırmayı yeniden dene",
2207
2208
  "requirement_review": "Okundu olarak işaretle",
2208
2209
  "clarity_review": "Okundu olarak işaretle",
2209
2210
  "release_regression": "Onayla",
@@ -3861,7 +3862,8 @@
3861
3862
  "qwen": "Qwen (Alibaba)",
3862
3863
  "kimi": "Kimi (Moonshot)",
3863
3864
  "deepseek": "DeepSeek",
3864
- "glm": "GLM (Z.ai)"
3865
+ "glm": "GLM (Z.ai)",
3866
+ "grok": "Grok (xAI)"
3865
3867
  },
3866
3868
  "regions": {
3867
3869
  "usa": "Amerika Birleşik Devletleri",
@@ -4137,6 +4139,11 @@
4137
4139
  "step1": "platform.moonshot.ai → API Keys adresini açın ve bir anahtar oluşturun.",
4138
4140
  "step2": "Anahtarı kopyalayın; OpenAI uyumlu Moonshot uç noktasının kimliğini doğrular."
4139
4141
  },
4142
+ "xai": {
4143
+ "label": "xAI (Grok API)",
4144
+ "step1": "console.x.ai → API Keys adresini açın ve bir anahtar oluşturun.",
4145
+ "step2": "Anahtarı kopyalayın; OpenAI uyumlu xAI uç noktasının kimliğini doğrular."
4146
+ },
4140
4147
  "openrouter": {
4141
4148
  "label": "OpenRouter",
4142
4149
  "step1": "openrouter.ai → Keys adresini açın ve bir API anahtarı oluşturun.",
@@ -4383,6 +4390,7 @@
4383
4390
  "pipeline_complete": "Pipeline tamamlandı",
4384
4391
  "ci_failed": "CI başarısız",
4385
4392
  "test_failed": "Testler başarısız",
4393
+ "deploy_blocked": "Dağıtım engellendi",
4386
4394
  "requirement_review": "Gereksinim incelemesi",
4387
4395
  "clarity_review": "Netlik incelemesi",
4388
4396
  "release_regression": "Sürüm gerilemesi",
@@ -4446,6 +4454,7 @@
4446
4454
  "pipeline_complete": "Pipeline tamamlandı",
4447
4455
  "ci_failed": "CI başarısız",
4448
4456
  "test_failed": "Testler başarısız",
4457
+ "deploy_blocked": "Dağıtım engellendi",
4449
4458
  "requirement_review": "Gereksinim incelemesi",
4450
4459
  "clarity_review": "Netlik incelemesi",
4451
4460
  "release_regression": "Sürüm gerilemesi",
@@ -2204,6 +2204,7 @@
2204
2204
  "pipeline_complete": "Підтвердити та злити",
2205
2205
  "ci_failed": "Повторити запуск",
2206
2206
  "test_failed": "Повторити запуск",
2207
+ "deploy_blocked": "Повторити запуск",
2207
2208
  "requirement_review": "Позначити прочитаним",
2208
2209
  "clarity_review": "Позначити прочитаним",
2209
2210
  "release_regression": "Підтвердити отримання",
@@ -3861,7 +3862,8 @@
3861
3862
  "qwen": "Qwen (Alibaba)",
3862
3863
  "kimi": "Kimi (Moonshot)",
3863
3864
  "deepseek": "DeepSeek",
3864
- "glm": "GLM (Z.ai)"
3865
+ "glm": "GLM (Z.ai)",
3866
+ "grok": "Grok (xAI)"
3865
3867
  },
3866
3868
  "regions": {
3867
3869
  "usa": "Сполучені Штати",
@@ -4137,6 +4139,11 @@
4137
4139
  "step1": "Відкрийте platform.moonshot.ai → API Keys і створіть ключ.",
4138
4140
  "step2": "Скопіюйте ключ; він автентифікує сумісний з OpenAI endpoint Moonshot."
4139
4141
  },
4142
+ "xai": {
4143
+ "label": "xAI (API Grok)",
4144
+ "step1": "Відкрийте console.x.ai → API Keys і створіть ключ.",
4145
+ "step2": "Скопіюйте ключ; він автентифікує сумісний з OpenAI endpoint xAI."
4146
+ },
4140
4147
  "openrouter": {
4141
4148
  "label": "OpenRouter",
4142
4149
  "step1": "Відкрийте openrouter.ai → Keys і створіть ключ API.",
@@ -4383,6 +4390,7 @@
4383
4390
  "pipeline_complete": "Конвеєр завершено",
4384
4391
  "ci_failed": "Збій CI",
4385
4392
  "test_failed": "Збій тестів",
4393
+ "deploy_blocked": "Розгортання заблоковано",
4386
4394
  "requirement_review": "Перевірка вимог",
4387
4395
  "clarity_review": "Перевірка ясності",
4388
4396
  "release_regression": "Регресія випуску",
@@ -4446,6 +4454,7 @@
4446
4454
  "pipeline_complete": "Конвеєр завершено",
4447
4455
  "ci_failed": "Збій CI",
4448
4456
  "test_failed": "Збій тестів",
4457
+ "deploy_blocked": "Розгортання заблоковано",
4449
4458
  "requirement_review": "Перевірка вимог",
4450
4459
  "clarity_review": "Перевірка ясності",
4451
4460
  "release_regression": "Регресія випуску",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cat-factory/app",
3
- "version": "0.273.1",
3
+ "version": "0.274.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",
@@ -40,7 +40,7 @@
40
40
  "valibot": "^1.4.2",
41
41
  "vue": "3.5.41",
42
42
  "wretch": "^3.0.9",
43
- "@cat-factory/contracts": "0.312.0"
43
+ "@cat-factory/contracts": "0.314.0"
44
44
  },
45
45
  "devDependencies": {
46
46
  "@toad-contracts/testing": "0.3.2",