@cat-factory/app 0.70.0 → 0.71.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 (69) hide show
  1. package/app/components/auth/LoginScreen.vue +3 -2
  2. package/app/components/board/AddTaskModal.vue +7 -1
  3. package/app/components/board/AgentFailureCard.vue +3 -0
  4. package/app/components/board/RecurringPipelineModal.vue +6 -1
  5. package/app/components/board/nodes/BlockNode.vue +10 -2
  6. package/app/components/board/nodes/TaskCard.vue +12 -1
  7. package/app/components/bootstrap/BootstrapModal.vue +3 -0
  8. package/app/components/common/ConfirmDialog.vue +59 -0
  9. package/app/components/common/EmptyState.vue +35 -0
  10. package/app/components/common/KeyboardShortcutsHelp.vue +48 -0
  11. package/app/components/documents/ContextDocumentPicker.vue +8 -4
  12. package/app/components/documents/DocumentSourceConnectModal.vue +4 -3
  13. package/app/components/focus/BlockFocusView.vue +12 -7
  14. package/app/components/fragments/FragmentLibraryManager.vue +10 -0
  15. package/app/components/github/GitHubPanel.vue +9 -0
  16. package/app/components/humanTest/HumanTestWindow.vue +15 -1
  17. package/app/components/layout/AccountDeploymentSettings.vue +4 -0
  18. package/app/components/layout/AccountTeamSettings.vue +8 -2
  19. package/app/components/layout/AiProvidersBanner.vue +3 -1
  20. package/app/components/layout/BoardSwitcher.vue +11 -0
  21. package/app/components/layout/CommandBar.vue +8 -0
  22. package/app/components/layout/InfraSetupBanner.vue +192 -0
  23. package/app/components/layout/NotificationsInbox.vue +11 -0
  24. package/app/components/layout/ProviderConfigBanner.vue +3 -1
  25. package/app/components/panels/InspectorPanel.vue +18 -20
  26. package/app/components/panels/StepContainerStatus.vue +37 -0
  27. package/app/components/panels/inspector/FrontendConfig.vue +19 -4
  28. package/app/components/panels/inspector/ServiceReleaseHealthConfig.vue +4 -0
  29. package/app/components/panels/inspector/TaskDependencies.vue +18 -4
  30. package/app/components/panels/inspector/TaskExecution.vue +24 -0
  31. package/app/components/panels/inspector/TaskRunSettings.vue +8 -1
  32. package/app/components/pipeline/PipelineBuilder.vue +13 -1
  33. package/app/components/providers/ApiKeysSection.vue +4 -0
  34. package/app/components/providers/PersonalSubscriptionSection.vue +9 -0
  35. package/app/components/providers/VendorCredentialsModal.vue +12 -3
  36. package/app/components/settings/CustomManifestTypeEditor.vue +3 -0
  37. package/app/components/settings/InfraHandlersConfigurator.vue +72 -12
  38. package/app/components/settings/KubernetesEngineForm.vue +41 -5
  39. package/app/components/settings/LocalModelEndpointsPanel.vue +11 -0
  40. package/app/components/settings/MergeThresholdsPanel.vue +9 -0
  41. package/app/components/settings/ModelConfigurationPanel.vue +9 -0
  42. package/app/components/settings/ObservabilityConnectionPanel.vue +7 -0
  43. package/app/components/settings/ProviderConnectionTab.vue +2 -0
  44. package/app/components/settings/UserSecretsSection.vue +11 -0
  45. package/app/components/slack/SlackPanel.vue +9 -0
  46. package/app/components/tasks/ContextIssuePicker.vue +8 -4
  47. package/app/components/tasks/TaskSourceConnectModal.vue +4 -3
  48. package/app/composables/useBlockDeletion.ts +63 -0
  49. package/app/composables/useConfirm.ts +63 -0
  50. package/app/composables/useConfirmAction.ts +96 -0
  51. package/app/composables/useKeyboardShortcuts.ts +76 -0
  52. package/app/composables/usePipelineErrorToast.ts +2 -0
  53. package/app/composables/useWorkspaceStream.ts +26 -6
  54. package/app/pages/index.vue +28 -4
  55. package/app/stores/agentRuns.spec.ts +74 -0
  56. package/app/stores/agentRuns.ts +33 -5
  57. package/app/stores/ui.ts +33 -1
  58. package/app/stores/workspace.ts +10 -2
  59. package/app/types/domain.ts +3 -0
  60. package/app/utils/pipeline.ts +22 -0
  61. package/i18n/locales/en.json +174 -12
  62. package/i18n/locales/es.json +176 -17
  63. package/i18n/locales/fr.json +176 -17
  64. package/i18n/locales/he.json +176 -17
  65. package/i18n/locales/ja.json +176 -17
  66. package/i18n/locales/pl.json +176 -17
  67. package/i18n/locales/tr.json +176 -17
  68. package/i18n/locales/uk.json +176 -17
  69. package/package.json +3 -2
@@ -15,7 +15,36 @@
15
15
  "copy": "Kopiuj",
16
16
  "actionFailed": "Akcja nie powiodła się",
17
17
  "close": "Zamknij",
18
- "block": "Blok"
18
+ "block": "Blok",
19
+ "delete": "Usuń",
20
+ "remove": "Usuń",
21
+ "confirm": {
22
+ "defaultTitle": "Na pewno?",
23
+ "confirm": "Potwierdź",
24
+ "irreversible": "Tej operacji nie można cofnąć.",
25
+ "reconnectHint": "Aby użyć tego ponownie, trzeba będzie połączyć to na nowo.",
26
+ "titles": {
27
+ "disconnect": "Rozłączyć {name}?",
28
+ "remove": "Usunąć {name}?",
29
+ "revoke": "Unieważnić {name}?",
30
+ "clear": "Wyczyścić {name}?",
31
+ "destroy": "Zniszczyć {name}?"
32
+ },
33
+ "reconfigureHint": "Możesz skonfigurować to ponownie później."
34
+ },
35
+ "copied": "Skopiowano do schowka",
36
+ "disconnect": "Rozłącz",
37
+ "copyFailed": "Nie udało się skopiować do schowka",
38
+ "revoke": "Unieważnij",
39
+ "clear": "Wyczyść",
40
+ "destroy": "Zniszcz",
41
+ "toast": {
42
+ "disconnected": "Rozłączono {name}",
43
+ "removed": "Usunięto {name}",
44
+ "revoked": "Unieważniono {name}",
45
+ "cleared": "Wyczyszczono {name}",
46
+ "destroyed": "Zniszczono {name}"
47
+ }
19
48
  },
20
49
  "nav": {
21
50
  "menu": "Menu nawigacji",
@@ -235,7 +264,11 @@
235
264
  "module": "Moduł: {name}",
236
265
  "buildSteps": "Kroki budowania",
237
266
  "reviewAndApprove": "Przejrzyj i zatwierdź",
238
- "clickToViewStep": "Kliknij, aby zobaczyć szczegóły i wynik kroku"
267
+ "clickToViewStep": "Kliknij, aby zobaczyć szczegóły i wynik kroku",
268
+ "startedToast": {
269
+ "title": "Uruchomiono",
270
+ "body": "Trwa wykonywanie \"{name}\"."
271
+ }
239
272
  },
240
273
  "epic": {
241
274
  "label": "Epik",
@@ -260,7 +293,9 @@
260
293
  "no_pr_to_merge": "Brak PR do scalenia",
261
294
  "github_not_connected": "GitHub nie jest połączony",
262
295
  "bootstrap_not_retryable": "Inicjalizacji nie można ponowić",
263
- "bootstrap_reference_missing": "Architektura referencyjna zniknęła"
296
+ "bootstrap_reference_missing": "Architektura referencyjna zniknęła",
297
+ "preset_unsatisfiable": "Ten zestaw modeli nie może uruchomić tego potoku",
298
+ "visual_pipeline_no_frontend": "Brak frontendu do przetestowania"
264
299
  },
265
300
  "fallbackMessage": "Ta akcja jest sprzeczna z bieżącym stanem.",
266
301
  "providersUnconfigured": {
@@ -322,6 +357,10 @@
322
357
  "step2": "Otwórz plik poświadczeń zapisany przez Codex w ~/.codex/auth.json (w systemie Windows %USERPROFILE%\\.codex\\auth.json).",
323
358
  "step3": "Skopiuj całą zawartość auth.json, wklej ją poniżej i wybierz osobiste hasło, aby ją chronić."
324
359
  }
360
+ },
361
+ "confirmDisconnect": {
362
+ "title": "Rozłączyć tę subskrypcję?",
363
+ "body": "Twoja subskrypcja \"{vendor}\" zostanie rozłączona. Tej operacji nie można cofnąć."
325
364
  }
326
365
  },
327
366
  "inspector": {
@@ -392,12 +431,14 @@
392
431
  "serveScript": "Skrypt serwowania",
393
432
  "servePort": "Port serwowania",
394
433
  "mockMappingsPath": "Ścieżka mapowań mocków",
434
+ "mockMappingsHint": "Katalog główny WireMock. Umieść pliki JSON stubów w podfolderze mappings/ w jego wnętrzu (a treści odpowiedzi w __files/), np. mocks/mappings/. Folder bez mappings/ w środku uruchamia pusty mock.",
395
435
  "envInjection": "Wstrzykiwanie zmiennych środowiskowych",
396
436
  "envBuild": "W czasie budowania",
397
437
  "envRuntime": "W czasie działania",
398
- "envInjectionHint": "W czasie budowania wstrzykuje adresy URL backendu jako zmienne środowiskowe budowania; W czasie działania zapisuje je w shimie window.env.",
438
+ "envInjectionHint": "W czasie budowania wstrzykuje adresy URL backendu jako zmienne środowiskowe budowania; W czasie działania zapisuje je w shimie window.env. Pamiętaj, że Twoje narzędzie budujące może udostępniać przeglądarce tylko zmienne z prefiksem (np. VITE_), więc nazywaj powiązania zgodnie z jego konwencją.",
399
439
  "previewEnabled": "Włącz przeglądalny podgląd",
400
440
  "previewHint": "Utrzymuje działający serwowany podgląd z klikalnym adresem URL. Tylko środowiska Local i Node.",
441
+ "previewUnsupported": "To wdrożenie nie może hostować przeglądalnego podglądu. Uruchom na wdrożeniu Local lub Node, aby zachować serwowany podgląd z klikalnym adresem URL.",
401
442
  "bindings": {
402
443
  "title": "Powiązania backendu",
403
444
  "hint": "Każda zmienna środowiskowa, którą frontend odczytuje dla adresu URL nadrzędnego, oraz miejsce jej rozwiązania: efemeryczne środowisko powiązanej usługi lub zaślepka WireMock.",
@@ -419,7 +460,8 @@
419
460
  "saveMonitoring": "Zapisz monitorowanie",
420
461
  "savedToast": "Monitorowanie zapisane",
421
462
  "saveFailed": "Nie udało się zapisać mapowania",
422
- "clearFailed": "Nie udało się wyczyścić mapowania"
463
+ "clearFailed": "Nie udało się wyczyścić mapowania",
464
+ "configNoun": "konfigurację kondycji wydania"
423
465
  },
424
466
  "testConfig": {
425
467
  "title": "Infrastruktura testowa",
@@ -514,7 +556,11 @@
514
556
  "merged": "Scalone",
515
557
  "notMerged": "Jeszcze nie scalone",
516
558
  "empty": "Brak zależności. Można uruchomić w dowolnym momencie.",
517
- "blocked": "Zablokowane do czasu scalenia zależności."
559
+ "blocked": "Zablokowane do czasu scalenia zależności.",
560
+ "confirmRemove": {
561
+ "title": "Usunąć tę zależność?",
562
+ "body": "To zadanie nie będzie już czekać na \"{name}\"."
563
+ }
518
564
  },
519
565
  "estimate": {
520
566
  "title": "Szacunek",
@@ -559,7 +605,11 @@
559
605
  "companionOf": "{label} (towarzysz)",
560
606
  "merged": "Scalone",
561
607
  "open": "Otwarty",
562
- "mergePr": "Scal PR"
608
+ "mergePr": "Scal PR",
609
+ "empty": {
610
+ "title": "Brak uruchomień",
611
+ "body": "Uruchom pipeline, aby zobaczyć tutaj historię uruchomień."
612
+ }
563
613
  },
564
614
  "structure": {
565
615
  "module": "Moduł",
@@ -689,7 +739,9 @@
689
739
  "done": "Kończenie"
690
740
  },
691
741
  "id": "Kontener",
692
- "url": "Adres"
742
+ "url": "Adres",
743
+ "copyId": "Kopiuj id kontenera",
744
+ "copyUrl": "Kopiuj adres"
693
745
  }
694
746
  },
695
747
  "stepDetail": {
@@ -759,7 +811,25 @@
759
811
  "viewRequirements": "Wyświetl wymagania",
760
812
  "reRun": "Uruchom ponownie",
761
813
  "run": "Uruchom",
762
- "focus": "Skup"
814
+ "focus": "Skup",
815
+ "confirmDelete": {
816
+ "task": {
817
+ "title": "Usunąć to zadanie?",
818
+ "body": "\"{name}\" i jego historia uruchomień zostaną usunięte. Tej operacji nie można cofnąć."
819
+ },
820
+ "module": {
821
+ "title": "Usunąć ten moduł?",
822
+ "body": "\"{name}\" i cała jego zawartość zostaną usunięte. Tej operacji nie można cofnąć."
823
+ },
824
+ "service": {
825
+ "title": "Usunąć tę usługę?",
826
+ "body": "\"{name}\" i cała jego zawartość zostaną usunięte. Tej operacji nie można cofnąć."
827
+ },
828
+ "recurring": {
829
+ "title": "Usunąć ten cykliczny pipeline?",
830
+ "body": "\"{name}\", jego harmonogram i historia uruchomień zostaną usunięte. Tej operacji nie można cofnąć."
831
+ }
832
+ }
763
833
  }
764
834
  },
765
835
  "observability": {
@@ -1019,7 +1089,8 @@
1019
1089
  "revokeInvite": "Nie udało się odwołać zaproszenia",
1020
1090
  "connectEmail": "Nie udało się połączyć nadawcy e-maili",
1021
1091
  "disconnectEmail": "Nie udało się rozłączyć nadawcy e-maili"
1022
- }
1092
+ },
1093
+ "emailNoun": "wysyłanie e-maili"
1023
1094
  },
1024
1095
  "boardSwitcher": {
1025
1096
  "accountFallback": "Konto",
@@ -1063,6 +1134,10 @@
1063
1134
  "openBoardFailed": "Nie udało się otworzyć tablicy",
1064
1135
  "boardDeleted": "Tablica usunięta",
1065
1136
  "deleteBoardFailed": "Nie udało się usunąć tablicy"
1137
+ },
1138
+ "confirmDelete": {
1139
+ "title": "Usunąć tę tablicę?",
1140
+ "body": "\"{name}\" i cała jego zawartość zostaną usunięte. Tej operacji nie można cofnąć."
1066
1141
  }
1067
1142
  },
1068
1143
  "notifications": {
@@ -1084,6 +1159,10 @@
1084
1159
  "human_review": "Oznacz jako przeczytane",
1085
1160
  "followup_pending": "Oznacz jako przeczytane",
1086
1161
  "markRead": "Oznacz jako przeczytane"
1162
+ },
1163
+ "toast": {
1164
+ "acted": "Oznaczono jako obsłużone",
1165
+ "dismissed": "Odrzucono"
1087
1166
  }
1088
1167
  },
1089
1168
  "aiProvidersBanner": {
@@ -1116,6 +1195,27 @@
1116
1195
  "runner-pool": "Skonfiguruj pulę silników"
1117
1196
  }
1118
1197
  },
1198
+ "infraSetupBanner": {
1199
+ "agentExecutor": {
1200
+ "title": "Wykonawca agentów nie jest skonfigurowany",
1201
+ "body": "To wdrożenie uruchamia agentów w samodzielnie hostowanej puli runnerów, ale żadna nie jest zarejestrowana, więc żaden agent nie będzie mógł działać, dopóki jej nie podłączysz.",
1202
+ "action": "Skonfiguruj pulę runnerów"
1203
+ },
1204
+ "ephemeralEnvironments": {
1205
+ "title": "Środowisko testowe nie jest skonfigurowane",
1206
+ "body": "Nie zarejestrowano żadnego dostawcy środowisk efemerycznych, więc agenci testowi wymagający działającego środowiska nie mogą działać. Podłącz jednego, aby je włączyć.",
1207
+ "action": "Skonfiguruj środowisko"
1208
+ },
1209
+ "binaryStorage": {
1210
+ "title": "Magazyn treści nie jest skonfigurowany",
1211
+ "body": "Dla tego konta nie skonfigurowano żadnego zaplecza magazynu binarnego, więc zrzuty ekranu interfejsu i obrazy referencyjne nie mają gdzie się zapisać, a kontrole wizualne są pomijane. Skonfiguruj magazyn, aby je włączyć.",
1212
+ "action": "Skonfiguruj magazyn"
1213
+ },
1214
+ "dismiss": {
1215
+ "session": "Odrzuć na tę sesję",
1216
+ "permanent": "Akceptuję ograniczenia, nie powiadamiaj mnie ponownie"
1217
+ }
1218
+ },
1119
1219
  "spendWarningBanner": {
1120
1220
  "title": "Osiągnięto limit wydatków, wykonywanie agentów wstrzymane",
1121
1221
  "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.",
@@ -1183,7 +1283,8 @@
1183
1283
  "serviceFragmentDefaults": "Domyślne dobre praktyki usługi",
1184
1284
  "accountSettings": "Ustawienia konta",
1185
1285
  "localModels": "Moje lokalne silniki",
1186
- "sandbox": "Otwórz piaskownicę"
1286
+ "sandbox": "Otwórz piaskownicę",
1287
+ "shortcuts": "Skróty klawiszowe"
1187
1288
  },
1188
1289
  "keywords": {
1189
1290
  "newPipeline": "potok agenci łańcuch pipeline",
@@ -1202,7 +1303,8 @@
1202
1303
  "serviceFragmentDefaults": "fragment dobre praktyki wytyczna usługa domyślna świadoma kodu",
1203
1304
  "accountSettings": "konto zespół członkowie role zaproszenia e-mail klucze api fragment dobre praktyki biblioteka kontekst organizacja osobiste",
1204
1305
  "localModels": "model lokalny silnik ollama lm studio llamacpp vllm endpoint",
1205
- "sandbox": "piaskownica prompt model test eksperyment sędzia fixture benchmark ocena"
1306
+ "sandbox": "piaskownica prompt model test eksperyment sędzia fixture benchmark ocena",
1307
+ "shortcuts": "skróty klawiatura klawisze pomoc"
1206
1308
  }
1207
1309
  },
1208
1310
  "integrationsHub": {
@@ -1275,6 +1377,13 @@
1275
1377
  "description": "Twoje silniki modeli na własnej maszynie (Ollama, LM Studio, vLLM…)."
1276
1378
  }
1277
1379
  }
1380
+ },
1381
+ "shortcuts": {
1382
+ "title": "Skróty klawiszowe",
1383
+ "commandBar": "Otwórz pasek poleceń",
1384
+ "deselect": "Odznacz / zamknij inspektora",
1385
+ "deleteBlock": "Usuń wybrany blok",
1386
+ "help": "Pokaż tę ściągę"
1278
1387
  }
1279
1388
  },
1280
1389
  "settings": {
@@ -1317,6 +1426,10 @@
1317
1426
  "nameRequiredTitle": "Wymagana nazwa",
1318
1427
  "nameRequiredBody": "Nadaj ustawieniu nazwę.",
1319
1428
  "saveFailed": "Nie udało się zapisać ustawienia"
1429
+ },
1430
+ "confirmDelete": {
1431
+ "title": "Usunąć ten preset modelu?",
1432
+ "body": "\"{name}\" zostanie usunięty. Zadania go używające wrócą do domyślnego ustawienia obszaru roboczego."
1320
1433
  }
1321
1434
  },
1322
1435
  "account": {
@@ -1536,6 +1649,10 @@
1536
1649
  "saveFailed": "Nie udało się zapisać sekretu",
1537
1650
  "removed": "Sekret usunięty",
1538
1651
  "removeFailed": "Nie udało się usunąć sekretu"
1652
+ },
1653
+ "confirmRemove": {
1654
+ "title": "Usunąć ten sekret?",
1655
+ "body": "\"{name}\" zostanie usunięty. Tej operacji nie można cofnąć."
1539
1656
  }
1540
1657
  },
1541
1658
  "mergeThresholds": {
@@ -1582,7 +1699,11 @@
1582
1699
  "deleteFailed": "Nie można usunąć ustawienia"
1583
1700
  },
1584
1701
  "autoMergeOnHint": "Scalaj automatycznie, gdy mieści się w progach.",
1585
- "autoMergeOffHint": "Zawsze kieruj PR do recenzji człowieka."
1702
+ "autoMergeOffHint": "Zawsze kieruj PR do recenzji człowieka.",
1703
+ "confirmDelete": {
1704
+ "title": "Usunąć ten preset scalania?",
1705
+ "body": "\"{name}\" zostanie usunięty. Zadania go używające wrócą do domyślnego ustawienia obszaru roboczego."
1706
+ }
1586
1707
  },
1587
1708
  "observabilityConnection": {
1588
1709
  "title": "Kondycja po wydaniu",
@@ -1622,7 +1743,9 @@
1622
1743
  "connected": "Obserwowalność połączona",
1623
1744
  "connectFailed": "Nie można zapisać połączenia",
1624
1745
  "disconnectFailed": "Nie można rozłączyć"
1625
- }
1746
+ },
1747
+ "connectionNoun": "połączenie obserwowalności",
1748
+ "incidentNoun": "dostawcę incydentów"
1626
1749
  },
1627
1750
  "localMode": {
1628
1751
  "title": "Tryb lokalny",
@@ -1789,6 +1912,10 @@
1789
1912
  "saveFailed": "Nie udało się zapisać runnera",
1790
1913
  "removed": "Runner usunięty",
1791
1914
  "removeFailed": "Nie udało się usunąć runnera"
1915
+ },
1916
+ "confirmRemove": {
1917
+ "title": "Usunąć ten runner?",
1918
+ "body": "\"{name}\" zostanie usunięty. Tej operacji nie można cofnąć."
1792
1919
  }
1793
1920
  },
1794
1921
  "infrastructure": {
@@ -1823,6 +1950,9 @@
1823
1950
  "apiServerUrlHelp": "Główny adres kube-apiserver, np. https://my-cluster.example:6443.",
1824
1951
  "apiToken": "Token ServiceAccount",
1825
1952
  "apiTokenHelp": "Tylko do zapisu; wprowadź ponownie, aby zmienić. Przechowywany w postaci zaszyfrowanej, nigdy nie jest zwracany.",
1953
+ "apiTokenHelpStored": "Token jest zapisany i używany ponownie do testów. Pozostaw puste, aby go zachować, lub wpisz nowy, aby go zastąpić.",
1954
+ "apiTokenPlaceholderStored": "Pozostaw puste, aby zachować zapisany token",
1955
+ "tokenSaved": "Zapisano",
1826
1956
  "urlSourceLabel": "Źródło URL środowiska",
1827
1957
  "urlIngressTemplate": "Szablon hosta Ingress",
1828
1958
  "urlIngressStatus": "Status Ingress",
@@ -1875,6 +2005,9 @@
1875
2005
  "handler": {
1876
2006
  "intro": "Skonfiguruj, jak obsługiwany jest każdy typ provisioningu zadeklarowany przez usługę: silnik i połączenie. Manifesty lub ścieżka compose usługi (co/gdzie) są ustawiane na usłudze.",
1877
2007
  "activeEngine": "Silnik:",
2008
+ "connectionEstablished": "Połączenie nawiązane",
2009
+ "notConnected": "Nie skonfigurowano jeszcze połączenia",
2010
+ "disconnect": "Usuń połączenie",
1878
2011
  "engineLabel": "Silnik",
1879
2012
  "customHandlerTitle": "Handler remote-custom",
1880
2013
  "customTypeLabel": "Typ niestandardowy",
@@ -1888,7 +2021,10 @@
1888
2021
  "overrideActive": "Aktywne",
1889
2022
  "personalOverrideHint": "Nadpisz handler przestrzeni roboczej dla tego typu provisioningu na własnej maszynie. Przechowywane na użytkownika.",
1890
2023
  "removeOverride": "Usuń nadpisanie",
1891
- "loading": "Ładowanie ustawień infrastruktury…"
2024
+ "loading": "Ładowanie ustawień infrastruktury…",
2025
+ "kubeNoun": "obsługę Kubernetes",
2026
+ "kubeOverrideNoun": "nadpisanie Kubernetes",
2027
+ "customNoun": "tę obsługę"
1892
2028
  }
1893
2029
  }
1894
2030
  },
@@ -2012,7 +2148,8 @@
2012
2148
  "step1": "Wygeneruj klucz wirtualny na swojej bramie LiteLLM (lub użyj jej klucza głównego).",
2013
2149
  "step2": "Bazowy URL bramy ustawia operator Twojego wdrożenia (LITELLM_BASE_URL), nie tutaj."
2014
2150
  }
2015
- }
2151
+ },
2152
+ "keyNoun": "ten klucz API"
2016
2153
  },
2017
2154
  "vendorCredentials": {
2018
2155
  "title": "Dostawcy LLM",
@@ -2050,6 +2187,10 @@
2050
2187
  "step2": "Skopiuj klucz API. Kroki agenta będą działać przez Claude Code na endpoincie Anthropic firmy DeepSeek z pełnym kontekstem.",
2051
2188
  "step3": "Wklej klucz poniżej."
2052
2189
  }
2190
+ },
2191
+ "confirmRemove": {
2192
+ "title": "Usunąć te dane logowania?",
2193
+ "body": "\"{name}\" zostanie usunięty. Tej operacji nie można cofnąć."
2053
2194
  }
2054
2195
  }
2055
2196
  },
@@ -2146,6 +2287,10 @@
2146
2287
  "createBranch": "Nie udało się utworzyć gałęzi",
2147
2288
  "openPr": "Nie udało się otworzyć pull requesta",
2148
2289
  "merge": "Nie udało się scalić"
2290
+ },
2291
+ "confirmDisconnect": {
2292
+ "title": "Rozłączyć GitHub?",
2293
+ "body": "Aplikacja utraci dostęp do Twoich repozytoriów do ponownego połączenia."
2149
2294
  }
2150
2295
  },
2151
2296
  "addService": {
@@ -2254,6 +2399,10 @@
2254
2399
  "disconnect": "Nie udalo sie rozlaczyc Slacka",
2255
2400
  "saveRouting": "Nie udalo sie zapisac routingu",
2256
2401
  "saveMap": "Nie udalo sie zapisac mapy czlonkow"
2402
+ },
2403
+ "confirmDisconnect": {
2404
+ "title": "Rozłączyć Slack?",
2405
+ "body": "Powiadomienia Slack zostaną wstrzymane do ponownego połączenia."
2257
2406
  }
2258
2407
  },
2259
2408
  "documents": {
@@ -2471,6 +2620,10 @@
2471
2620
  "cloned": "Sklonowano \"{name}\" — trwa edycja \"{copy}\"",
2472
2621
  "cloneFailed": "Nie udało się sklonować pipeline'u",
2473
2622
  "updateFailed": "Nie udało się zaktualizować pipeline'u"
2623
+ },
2624
+ "confirmDeletePipeline": {
2625
+ "title": "Usunąć ten pipeline?",
2626
+ "body": "\"{name}\" zostanie usunięty. Tej operacji nie można cofnąć."
2474
2627
  }
2475
2628
  },
2476
2629
  "progress": {
@@ -3031,7 +3184,9 @@
3031
3184
  "completed": "zakończono",
3032
3185
  "failed": "niepowodzenie",
3033
3186
  "inProgress": "w toku"
3034
- }
3187
+ },
3188
+ "envNoun": "środowisko testowe",
3189
+ "destroyFailed": "Nie udało się zniszczyć środowiska"
3035
3190
  },
3036
3191
  "testing": {
3037
3192
  "title": "Raport z testów",
@@ -3380,6 +3535,10 @@
3380
3535
  "checkSourceFailed": "Nie udało się sprawdzić źródła",
3381
3536
  "sourceUnlinked": "Odłączono źródło",
3382
3537
  "unlinkSourceFailed": "Nie udało się odłączyć źródła"
3538
+ },
3539
+ "confirmRemove": {
3540
+ "title": "Usunąć ten fragment?",
3541
+ "body": "\"{name}\" zostanie usunięty. Tej operacji nie można cofnąć."
3383
3542
  }
3384
3543
  },
3385
3544
  "sandbox": {