@cat-factory/app 0.174.0 → 0.178.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/README.md +52 -13
- package/app/components/board/nodes/BlockNode.vue +30 -0
- package/app/components/environments/steps/EnvPickStep.vue +3 -0
- package/app/components/layout/IntegrationBackTitle.vue +11 -8
- package/app/components/layout/IntegrationsHub.vue +35 -56
- package/app/components/layout/ModelProvidersHub.vue +250 -0
- package/app/components/panels/InspectorPanel.vue +3 -28
- package/app/components/panels/inspector/ContainerSummary.vue +54 -62
- package/app/components/panels/inspector/ServiceReleaseHealthConfig.vue +11 -0
- package/app/components/panels/inspector/ServiceValidationConfig.vue +99 -1
- package/app/components/settings/ComposeEnvironmentSetupSection.vue +102 -0
- package/app/components/settings/InfrastructureWindow.vue +11 -1
- package/app/composables/api/validationChecks.ts +8 -0
- package/app/composables/useIntegrationBack.ts +5 -2
- package/app/composables/useNavContributions.ts +1 -1
- package/app/modular/nav-contributions.spec.ts +64 -21
- package/app/modular/nav-contributions.ts +59 -26
- package/app/pages/index.vue +4 -0
- package/app/stores/ui/modals.ts +32 -6
- package/app/stores/validationChecks.ts +17 -2
- package/app/types/validationChecks.ts +3 -0
- package/app/utils/validationDetection.spec.ts +51 -0
- package/app/utils/validationDetection.ts +67 -0
- package/i18n/locales/de.json +110 -33
- package/i18n/locales/en.json +110 -33
- package/i18n/locales/es.json +110 -33
- package/i18n/locales/fr.json +110 -33
- package/i18n/locales/he.json +110 -33
- package/i18n/locales/it.json +110 -33
- package/i18n/locales/ja.json +110 -33
- package/i18n/locales/pl.json +110 -33
- package/i18n/locales/tr.json +110 -33
- package/i18n/locales/uk.json +110 -33
- package/package.json +2 -2
package/i18n/locales/tr.json
CHANGED
|
@@ -111,6 +111,8 @@
|
|
|
111
111
|
"repositories": "Depolar",
|
|
112
112
|
"addFromRepo": "Mevcut depodan ekle",
|
|
113
113
|
"bootstrapRepo": "Depo başlat",
|
|
114
|
+
"models": "Modeller",
|
|
115
|
+
"modelProviders": "Model sağlayıcıları",
|
|
114
116
|
"integrations": "Entegrasyonlar",
|
|
115
117
|
"infrastructure": "Altyapı",
|
|
116
118
|
"sandbox": "Deneme alanı",
|
|
@@ -122,8 +124,7 @@
|
|
|
122
124
|
"modelConfiguration": "Model yapılandırması",
|
|
123
125
|
"accountSettings": "Hesap ayarları",
|
|
124
126
|
"operatorDashboard": "Platform gözlemlenebilirliği",
|
|
125
|
-
"reports": "Raporlar"
|
|
126
|
-
"environmentSetup": "Ortam kurulumu"
|
|
127
|
+
"reports": "Raporlar"
|
|
127
128
|
},
|
|
128
129
|
"board": {
|
|
129
130
|
"toast": {
|
|
@@ -394,6 +395,7 @@
|
|
|
394
395
|
"dragToResize": "Yeniden boyutlandırmak için sürükle",
|
|
395
396
|
"addFirstTask": "İlk görevi ekle",
|
|
396
397
|
"createInitiativeTitle": "Girisim olustur",
|
|
398
|
+
"huntBugsTitle": "Hata avla",
|
|
397
399
|
"accessDenied": {
|
|
398
400
|
"title": "İzin reddedildi",
|
|
399
401
|
"hint": "Bu hizmetin dayandığı depoya erişiminiz yok."
|
|
@@ -631,12 +633,12 @@
|
|
|
631
633
|
"inspector": {
|
|
632
634
|
"detectRepoUnresolved": "Bu bloğun deposu bağlı GitHub depoları arasında değil, bu yüzden okunamıyor. Bunun için GitHub'ı bağlayın veya eşitleyin, ardından yeniden deneyin.",
|
|
633
635
|
"container": {
|
|
634
|
-
"
|
|
635
|
-
"
|
|
636
|
-
"modules": "Modüller ({count})",
|
|
636
|
+
"modulesTitle": "Modüller",
|
|
637
|
+
"modulesHint": "Bu servisin içindeki modüller. Panoda seçmek için birine tıklayın.",
|
|
637
638
|
"taskCount": "{count} görev | {count} görev",
|
|
638
|
-
"
|
|
639
|
-
"
|
|
639
|
+
"tasksTitle": "Görevler",
|
|
640
|
+
"allTasksTitle": "Tüm görevler",
|
|
641
|
+
"tasksHint": "Bu bloğun içindeki görevler. Panoda seçmek için birine tıklayın.",
|
|
640
642
|
"addTask": "Görev ekle",
|
|
641
643
|
"noTasks": "Henüz görev yok. Çalışmaya başlamak için bir tane ekleyin.",
|
|
642
644
|
"servicesHint": "Servisler uzun ömürlüdür ve tamamlanmaz. Çalışma, görevlerinde ve modüllerinde gerçekleşir."
|
|
@@ -1102,7 +1104,34 @@
|
|
|
1102
1104
|
"save": "Denetimleri kaydet",
|
|
1103
1105
|
"savedToast": "Denetimler kaydedildi",
|
|
1104
1106
|
"saveFailed": "Denetimler kaydedilemedi",
|
|
1105
|
-
"clearFailed": "Denetimler temizlenemedi"
|
|
1107
|
+
"clearFailed": "Denetimler temizlenemedi",
|
|
1108
|
+
"detect": {
|
|
1109
|
+
"action": "Algıla",
|
|
1110
|
+
"hint": "Bu hizmetin deposundan denetimler öner",
|
|
1111
|
+
"added": "{count} denetim eklendi | {count} denetim eklendi",
|
|
1112
|
+
"found": "{ecosystems} algılandı.",
|
|
1113
|
+
"capped": "Bazı öneriler dışarıda bırakıldı — bir hizmet en fazla {max} denetim alır.",
|
|
1114
|
+
"nothingNew": "Eklenecek bir şey yok",
|
|
1115
|
+
"alreadyPresent": "Algılanan tüm komutlar zaten listede.",
|
|
1116
|
+
"unrecognised": "Depo kökünde bilinen bir ekosistem algılanmadı. Komutları elle ekleyin.",
|
|
1117
|
+
"repo_unavailable": "Bu hizmete bağlı bir depo yok, bu yüzden incelenecek bir şey yok.",
|
|
1118
|
+
"failed": "Depo okunamadı"
|
|
1119
|
+
},
|
|
1120
|
+
"ecosystem": {
|
|
1121
|
+
"node": "Node.js",
|
|
1122
|
+
"python": "Python",
|
|
1123
|
+
"go": "Go",
|
|
1124
|
+
"rust": "Rust",
|
|
1125
|
+
"maven": "Maven",
|
|
1126
|
+
"gradle": "Gradle",
|
|
1127
|
+
"dotnet": ".NET",
|
|
1128
|
+
"ruby": "Ruby",
|
|
1129
|
+
"php": "PHP",
|
|
1130
|
+
"elixir": "Elixir",
|
|
1131
|
+
"make": "Make",
|
|
1132
|
+
"just": "just",
|
|
1133
|
+
"task": "Task"
|
|
1134
|
+
}
|
|
1106
1135
|
}
|
|
1107
1136
|
},
|
|
1108
1137
|
"panels": {
|
|
@@ -1318,8 +1347,6 @@
|
|
|
1318
1347
|
"lastIncorporatedRequirements": "Son dahil edilen gereksinimler",
|
|
1319
1348
|
"priorDocHint": "Önceki incelemeden. Bir temel olarak kullanın: yukarıdaki açıklamayı düzenleyip yeniden gönderin.",
|
|
1320
1349
|
"bootstrapping": "Önyükleniyor…",
|
|
1321
|
-
"importIssue": "Sorunu içe aktar",
|
|
1322
|
-
"connectTracker": "Bir izleyici bağla",
|
|
1323
1350
|
"spawnFromDocument": "Belgeden oluştur",
|
|
1324
1351
|
"viewRequirements": "Gereksinimleri Görüntüle",
|
|
1325
1352
|
"reRun": "Yeniden çalıştır",
|
|
@@ -1353,8 +1380,7 @@
|
|
|
1353
1380
|
"title": "Bu hizmet arşivlensin mi?",
|
|
1354
1381
|
"body": "\"{name}\" ve görevleri panodan gizlenecek. İstediğin zaman geri yükleyebilirsin."
|
|
1355
1382
|
},
|
|
1356
|
-
"runBlocked": "Tamamlanmamış bir bağımlılık tarafından engellendi: {names} | Tamamlanmamış {count} bağımlılık tarafından engellendi: {names}"
|
|
1357
|
-
"huntBugs": "Hata avla"
|
|
1383
|
+
"runBlocked": "Tamamlanmamış bir bağımlılık tarafından engellendi: {names} | Tamamlanmamış {count} bağımlılık tarafından engellendi: {names}"
|
|
1358
1384
|
}
|
|
1359
1385
|
},
|
|
1360
1386
|
"observability": {
|
|
@@ -1936,7 +1962,8 @@
|
|
|
1936
1962
|
},
|
|
1937
1963
|
"integrationBack": {
|
|
1938
1964
|
"backToMySetup": "Kurulumuma geri dön",
|
|
1939
|
-
"backToIntegrations": "Entegrasyonlara geri dön"
|
|
1965
|
+
"backToIntegrations": "Entegrasyonlara geri dön",
|
|
1966
|
+
"backToModelProviders": "Model sağlayıcılarına geri dön"
|
|
1940
1967
|
},
|
|
1941
1968
|
"commandBar": {
|
|
1942
1969
|
"searchPlaceholder": "Ara veya bir komut çalıştır…",
|
|
@@ -1997,23 +2024,21 @@
|
|
|
1997
2024
|
},
|
|
1998
2025
|
"integrationsHub": {
|
|
1999
2026
|
"title": "Entegrasyonlar",
|
|
2000
|
-
"intro": "Bu çalışma alanının bağlayabileceği harici sistemleri bağlayın ve yönetin.",
|
|
2027
|
+
"intro": "Bu çalışma alanının bağlayabileceği isteğe bağlı harici sistemleri bağlayın ve yönetin. Ajanlarınızı çalıştıran modeller Model sağlayıcıları altındadır.",
|
|
2001
2028
|
"searchPlaceholder": "Entegrasyonlarda ara…",
|
|
2002
2029
|
"noMatches": "\"{query}\" ile eşleşen entegrasyon yok.",
|
|
2003
2030
|
"getStarted": {
|
|
2004
2031
|
"title": "Başlayın",
|
|
2005
|
-
"body": "
|
|
2032
|
+
"body": "Boru hatlarınızın üzerinde çalışacağı bir şey olması için bir kod kaynağı bağlayın."
|
|
2006
2033
|
},
|
|
2007
2034
|
"status": {
|
|
2008
2035
|
"connected": "Bağlandı",
|
|
2009
|
-
"keyConnected": "Anahtar bağlandı",
|
|
2010
2036
|
"notConnected": "Bağlı değil",
|
|
2011
2037
|
"needsAttention": "Dikkat gerekiyor",
|
|
2012
2038
|
"disabled": "Devre dışı",
|
|
2013
2039
|
"recommended": "Önerilen"
|
|
2014
2040
|
},
|
|
2015
2041
|
"groups": {
|
|
2016
|
-
"models": "Modeller ve sağlayıcılar",
|
|
2017
2042
|
"sourceControl": "Kaynak kontrolü",
|
|
2018
2043
|
"communication": "İletişim",
|
|
2019
2044
|
"documents": "Belgeler",
|
|
@@ -2023,16 +2048,6 @@
|
|
|
2023
2048
|
"personal": "Kişisel (yalnızca siz)"
|
|
2024
2049
|
},
|
|
2025
2050
|
"items": {
|
|
2026
|
-
"openrouter": {
|
|
2027
|
-
"description": "300+ modele tek bir ağ geçidi. Anahtarınızı ekleyin ve modelleri tek yerde etkinleştirin."
|
|
2028
|
-
},
|
|
2029
|
-
"vendors": {
|
|
2030
|
-
"label": "Sağlayıcılar ve anahtarlar",
|
|
2031
|
-
"description": "Çalışma alanı LLM abonelikleri ve sağlayıcı API anahtarları."
|
|
2032
|
-
},
|
|
2033
|
-
"personalSubs": {
|
|
2034
|
-
"label": "Kişisel abonelikler (Claude, ChatGPT/Codex, GLM)"
|
|
2035
|
-
},
|
|
2036
2051
|
"github": {
|
|
2037
2052
|
"description": "Çalışma alanının GitHub App'ini bağlayın, depoları, PR'ları ve sorunları gözatın."
|
|
2038
2053
|
},
|
|
@@ -2072,10 +2087,6 @@
|
|
|
2072
2087
|
"label": "GitHub token'ım",
|
|
2073
2088
|
"description": "Başlattığınız çalıştırmalar için kullanılan kişisel erişim token'ı (push'lar, PR'lar, CI, birleştirme)."
|
|
2074
2089
|
},
|
|
2075
|
-
"localRunners": {
|
|
2076
|
-
"label": "Yerel runner'larım",
|
|
2077
|
-
"description": "Kendi makinenizdeki model runner'ları (Ollama, LM Studio, vLLM…)."
|
|
2078
|
-
},
|
|
2079
2090
|
"documentTemplates": {
|
|
2080
2091
|
"label": "Şablonlar ve örnekler"
|
|
2081
2092
|
},
|
|
@@ -2085,6 +2096,45 @@
|
|
|
2085
2096
|
}
|
|
2086
2097
|
}
|
|
2087
2098
|
},
|
|
2099
|
+
"modelProvidersHub": {
|
|
2100
|
+
"title": "Model sağlayıcıları",
|
|
2101
|
+
"intro": "Ajanlarınızı çalıştıran motorlar. Herhangi bir boru hattı adımı çalışabilmeden önce en az bir sağlayıcının bağlı olması gerekir.",
|
|
2102
|
+
"searchPlaceholder": "Sağlayıcı ara…",
|
|
2103
|
+
"noMatches": "\"{query}\" ile eşleşen sağlayıcı yok.",
|
|
2104
|
+
"getStarted": {
|
|
2105
|
+
"title": "Henüz bağlı sağlayıcı yok",
|
|
2106
|
+
"body": "Bir modele erişilemeden ajan adımları çalışamaz. Geniş bir katalogu açmanın en hızlı yolu bir OpenRouter anahtarıdır; ancak sağlayıcı anahtarları, kişisel bir plan veya kendi yerel çalıştırıcınız da aynı işi görür."
|
|
2107
|
+
},
|
|
2108
|
+
"status": {
|
|
2109
|
+
"connected": "Bağlandı",
|
|
2110
|
+
"keyConnected": "Anahtar bağlandı",
|
|
2111
|
+
"notConnected": "Bağlı değil",
|
|
2112
|
+
"recommended": "Önerilen",
|
|
2113
|
+
"connectedCount": "bağlı yok | {count} bağlı | {count} bağlı"
|
|
2114
|
+
},
|
|
2115
|
+
"groups": {
|
|
2116
|
+
"workspace": "Çalışma alanı sağlayıcıları",
|
|
2117
|
+
"personal": "Kişisel (yalnızca siz)",
|
|
2118
|
+
"personalNote": "Bunlar çalışma alanına değil hesabınıza aittir ve yalnızca sizin başlattığınız çalışmalarda kullanılır. Kurulumum bölümünde de listelenir."
|
|
2119
|
+
},
|
|
2120
|
+
"items": {
|
|
2121
|
+
"openrouter": {
|
|
2122
|
+
"description": "300+ modele tek bir ağ geçidi. Anahtarınızı ekleyin ve modelleri tek yerde etkinleştirin."
|
|
2123
|
+
},
|
|
2124
|
+
"vendors": {
|
|
2125
|
+
"label": "Sağlayıcılar ve anahtarlar",
|
|
2126
|
+
"description": "Çalışma alanı LLM abonelikleri ve sağlayıcı API anahtarları."
|
|
2127
|
+
},
|
|
2128
|
+
"personalSubs": {
|
|
2129
|
+
"label": "Aboneliklerim",
|
|
2130
|
+
"description": "Kişisel bir parolayla açtığınız bireysel kullanım planları (Claude, GLM, Codex)."
|
|
2131
|
+
},
|
|
2132
|
+
"localRunners": {
|
|
2133
|
+
"label": "Yerel çalıştırıcılarım",
|
|
2134
|
+
"description": "Kendi makinenizdeki model çalıştırıcılarınız (Ollama, LM Studio, vLLM)."
|
|
2135
|
+
}
|
|
2136
|
+
}
|
|
2137
|
+
},
|
|
2088
2138
|
"shortcuts": {
|
|
2089
2139
|
"title": "Klavye kısayolları",
|
|
2090
2140
|
"commandBar": "Komut çubuğunu aç",
|
|
@@ -2794,6 +2844,32 @@
|
|
|
2794
2844
|
"removeFailed": "Paylaşılan yığın silinemedi"
|
|
2795
2845
|
}
|
|
2796
2846
|
},
|
|
2847
|
+
"composeEnvSetup": {
|
|
2848
|
+
"title": "Bir servis için rehberli Docker Compose kurulumu",
|
|
2849
|
+
"lead": "Compose yolunu ve kurulum adımlarını elle yazmak yerine, bir servisin test ortamlarının ayağa kaldırıldığı Docker Compose tarifini adım adım oluşturur.",
|
|
2850
|
+
"how": {
|
|
2851
|
+
"title": "Nasıl çalışır",
|
|
2852
|
+
"scan": "Servisin bağlı deposunu compose dosyaları, profiller, env dosyaları ve tohum verisi dökümleri için tarar.",
|
|
2853
|
+
"analyse": "İsteğe bağlı olarak ortam analisti ajanını çalıştırarak deponun kendi betiklerinden kurulum adımları ve bir sağlık kontrolü taslağı çıkarır.",
|
|
2854
|
+
"preflight": "Tarifin ön kontrollerini, onu ayağa kaldıracak makinede çalıştırır.",
|
|
2855
|
+
"save": "Tarifi servise kaydeder ve çalışma alanının Docker Compose işleyicisini kaydeder.",
|
|
2856
|
+
"outcome": "Bundan sonra bir boru hattı canlı bir ortama ihtiyaç duyduğunda Deployer tam olarak o yığını ayağa kaldırır ve Tester ona karşı çalışır. Siz kaydedene kadar hiçbir şey uygulanmaz."
|
|
2857
|
+
},
|
|
2858
|
+
"needed": {
|
|
2859
|
+
"title": "Şu durumlarda gerekir",
|
|
2860
|
+
"running": "Servisin testleri uygulamanın gerçekten çalışmasını gerektiriyorsa: API veya arayüz testleri, göçler, tohum verisi.",
|
|
2861
|
+
"compose": "Servis Docker Compose ile ayağa kaldırılıyorsa ve henüz kayıtlı bir tarifi yoksa.",
|
|
2862
|
+
"setup": "Yığını ayağa kaldırmak tek komuttan fazlasını gerektiriyorsa: profiller, env dosyaları, tohum verisi veya hazır olma kontrolü."
|
|
2863
|
+
},
|
|
2864
|
+
"notNeeded": {
|
|
2865
|
+
"title": "Şu durumlarda atlayabilirsiniz",
|
|
2866
|
+
"inContainer": "Boru hattı yalnızca lint, derleme veya birim testi çalıştırıyorsa. Bunlar PR öncesi doğrulama kontrolleri olarak ajan konteynerinde çalışır, hiçbir ortam ayağa kaldırılmaz.",
|
|
2867
|
+
"otherBackend": "Servis başka bir şekilde ayağa kaldırılıyorsa (Kubernetes, bulut önizlemesi veya hiç altyapı yok). Bunun yerine yukarıdan yapılandırın.",
|
|
2868
|
+
"noRepo": "Servisin bağlı bir deposu yoksa, taranacak bir şey de yoktur."
|
|
2869
|
+
},
|
|
2870
|
+
"start": "Rehberli kurulumu başlat",
|
|
2871
|
+
"rerunHint": "Kayıtlı bir tarifi değiştirmek için istediğiniz zaman yeniden çalıştırın."
|
|
2872
|
+
},
|
|
2797
2873
|
"localMode": {
|
|
2798
2874
|
"title": "Yerel mod",
|
|
2799
2875
|
"intro": "Yerel konteyner çalıştırıcısı için ayarlar, bu makinenin dağıtımında saklanır ({poolVars} / {harnessVars} ortam değişkenlerinin yerini aldı). Kaydetmek sıcak havuzu anında yeniden boyutlandırır, yeniden başlatma gerekmez; devam eden çalıştırmalar zaten tuttukları konteyneri korur.",
|
|
@@ -5269,8 +5345,8 @@
|
|
|
5269
5345
|
},
|
|
5270
5346
|
"environmentWizard": {
|
|
5271
5347
|
"progress": "Adım {index} / {total}",
|
|
5272
|
-
"title": "
|
|
5273
|
-
"subtitle": "
|
|
5348
|
+
"title": "Docker Compose ortam kurulumu",
|
|
5349
|
+
"subtitle": "Bir servisin test ortamlarının ayağa kaldırıldığı Docker Compose tarifini oluşturun: depoyu tarayın, gözden geçirin, ön kontrol yapın, kaydedin.",
|
|
5274
5350
|
"recommended": "önerilen",
|
|
5275
5351
|
"steps": {
|
|
5276
5352
|
"pick": "Servis seç",
|
|
@@ -5280,6 +5356,7 @@
|
|
|
5280
5356
|
},
|
|
5281
5357
|
"pick": {
|
|
5282
5358
|
"intro": "Docker Compose ortamı kuracağın servisi seç.",
|
|
5359
|
+
"scope": "Yalnızca seçtiğiniz servis değişir. Tarifini düzenlemek için bunu daha sonra yeniden çalıştırın.",
|
|
5283
5360
|
"empty": "Henüz servis yok. Önce bir servis ekle."
|
|
5284
5361
|
},
|
|
5285
5362
|
"review": {
|
package/i18n/locales/uk.json
CHANGED
|
@@ -111,6 +111,8 @@
|
|
|
111
111
|
"repositories": "Репозиторії",
|
|
112
112
|
"addFromRepo": "Додати з наявного репозиторію",
|
|
113
113
|
"bootstrapRepo": "Ініціалізувати репозиторій",
|
|
114
|
+
"models": "Моделі",
|
|
115
|
+
"modelProviders": "Постачальники моделей",
|
|
114
116
|
"integrations": "Інтеграції",
|
|
115
117
|
"sandbox": "Пісочниця",
|
|
116
118
|
"kaizen": "Kaizen",
|
|
@@ -122,8 +124,7 @@
|
|
|
122
124
|
"accountSettings": "Налаштування облікового запису",
|
|
123
125
|
"operatorDashboard": "Спостережуваність платформи",
|
|
124
126
|
"reports": "Звіти",
|
|
125
|
-
"infrastructure": "Інфраструктура"
|
|
126
|
-
"environmentSetup": "Налаштування середовища"
|
|
127
|
+
"infrastructure": "Інфраструктура"
|
|
127
128
|
},
|
|
128
129
|
"board": {
|
|
129
130
|
"toast": {
|
|
@@ -394,6 +395,7 @@
|
|
|
394
395
|
"dragToResize": "Перетягніть, щоб змінити розмір",
|
|
395
396
|
"addFirstTask": "Додати перше завдання",
|
|
396
397
|
"createInitiativeTitle": "Створити ініціативу",
|
|
398
|
+
"huntBugsTitle": "Полювати на помилки",
|
|
397
399
|
"accessDenied": {
|
|
398
400
|
"title": "Доступ заборонено",
|
|
399
401
|
"hint": "У вас немає доступу до репозиторію, що стоїть за цією службою."
|
|
@@ -631,12 +633,12 @@
|
|
|
631
633
|
"inspector": {
|
|
632
634
|
"detectRepoUnresolved": "Репозиторій цього блоку відсутній серед підключених репозиторіїв GitHub, тому його не вдається прочитати. Підключіть або синхронізуйте GitHub для нього та повторіть спробу.",
|
|
633
635
|
"container": {
|
|
634
|
-
"
|
|
635
|
-
"
|
|
636
|
-
"modules": "Модулі ({count})",
|
|
636
|
+
"modulesTitle": "Модулі",
|
|
637
|
+
"modulesHint": "Модулі всередині цього сервісу. Клацніть модуль, щоб вибрати його на дошці.",
|
|
637
638
|
"taskCount": "{count} завдання | {count} завдання | {count} завдань",
|
|
638
|
-
"
|
|
639
|
-
"
|
|
639
|
+
"tasksTitle": "Завдання",
|
|
640
|
+
"allTasksTitle": "Усі завдання",
|
|
641
|
+
"tasksHint": "Завдання всередині цього блока. Клацніть завдання, щоб вибрати його на дошці.",
|
|
640
642
|
"addTask": "Додати завдання",
|
|
641
643
|
"noTasks": "Завдань ще немає. Додайте одне, щоб почати роботу.",
|
|
642
644
|
"servicesHint": "Сервіси довготривалі й не завершуються. Робота відбувається в їхніх завданнях і модулях."
|
|
@@ -1102,7 +1104,34 @@
|
|
|
1102
1104
|
"save": "Зберегти перевірки",
|
|
1103
1105
|
"savedToast": "Перевірки збережено",
|
|
1104
1106
|
"saveFailed": "Не вдалося зберегти перевірки",
|
|
1105
|
-
"clearFailed": "Не вдалося очистити перевірки"
|
|
1107
|
+
"clearFailed": "Не вдалося очистити перевірки",
|
|
1108
|
+
"detect": {
|
|
1109
|
+
"action": "Визначити",
|
|
1110
|
+
"hint": "Запропонувати перевірки з репозиторію цієї служби",
|
|
1111
|
+
"added": "Додано {count} перевірку | Додано {count} перевірки | Додано {count} перевірок",
|
|
1112
|
+
"found": "Розпізнано: {ecosystems}.",
|
|
1113
|
+
"capped": "Деякі пропозиції пропущено — служба приймає щонайбільше {max} перевірок.",
|
|
1114
|
+
"nothingNew": "Немає чого додавати",
|
|
1115
|
+
"alreadyPresent": "Усі виявлені команди вже є у списку.",
|
|
1116
|
+
"unrecognised": "У корені репозиторію не розпізнано жодної відомої екосистеми. Додайте команди вручну.",
|
|
1117
|
+
"repo_unavailable": "До цієї служби не прив’язано репозиторій, тож немає чого перевіряти.",
|
|
1118
|
+
"failed": "Не вдалося прочитати репозиторій"
|
|
1119
|
+
},
|
|
1120
|
+
"ecosystem": {
|
|
1121
|
+
"node": "Node.js",
|
|
1122
|
+
"python": "Python",
|
|
1123
|
+
"go": "Go",
|
|
1124
|
+
"rust": "Rust",
|
|
1125
|
+
"maven": "Maven",
|
|
1126
|
+
"gradle": "Gradle",
|
|
1127
|
+
"dotnet": ".NET",
|
|
1128
|
+
"ruby": "Ruby",
|
|
1129
|
+
"php": "PHP",
|
|
1130
|
+
"elixir": "Elixir",
|
|
1131
|
+
"make": "Make",
|
|
1132
|
+
"just": "just",
|
|
1133
|
+
"task": "Task"
|
|
1134
|
+
}
|
|
1106
1135
|
}
|
|
1107
1136
|
},
|
|
1108
1137
|
"panels": {
|
|
@@ -1318,8 +1347,6 @@
|
|
|
1318
1347
|
"lastIncorporatedRequirements": "Останні внесені вимоги",
|
|
1319
1348
|
"priorDocHint": "З попереднього огляду. Використайте його як основу: відредагуйте опис вище та надішліть повторно.",
|
|
1320
1349
|
"bootstrapping": "Ініціалізація…",
|
|
1321
|
-
"importIssue": "Імпортувати задачу",
|
|
1322
|
-
"connectTracker": "Підключити трекер",
|
|
1323
1350
|
"spawnFromDocument": "Створити з документа",
|
|
1324
1351
|
"viewRequirements": "Переглянути вимоги",
|
|
1325
1352
|
"reRun": "Перезапустити",
|
|
@@ -1353,8 +1380,7 @@
|
|
|
1353
1380
|
"title": "Заархівувати цей сервіс?",
|
|
1354
1381
|
"body": "«{name}» та його завдання буде приховано з дошки. Ви можете відновити його будь-коли."
|
|
1355
1382
|
},
|
|
1356
|
-
"runBlocked": "Заблоковано незавершеною залежністю: {names} | Заблоковано {count} незавершеними залежностями: {names} | Заблоковано {count} незавершеними залежностями: {names}"
|
|
1357
|
-
"huntBugs": "Полювати на помилки"
|
|
1383
|
+
"runBlocked": "Заблоковано незавершеною залежністю: {names} | Заблоковано {count} незавершеними залежностями: {names} | Заблоковано {count} незавершеними залежностями: {names}"
|
|
1358
1384
|
}
|
|
1359
1385
|
},
|
|
1360
1386
|
"observability": {
|
|
@@ -1936,7 +1962,8 @@
|
|
|
1936
1962
|
},
|
|
1937
1963
|
"integrationBack": {
|
|
1938
1964
|
"backToMySetup": "Назад до Моє налаштування",
|
|
1939
|
-
"backToIntegrations": "Назад до Інтеграції"
|
|
1965
|
+
"backToIntegrations": "Назад до Інтеграції",
|
|
1966
|
+
"backToModelProviders": "Назад до Постачальники моделей"
|
|
1940
1967
|
},
|
|
1941
1968
|
"commandBar": {
|
|
1942
1969
|
"searchPlaceholder": "Знайдіть або виконайте команду…",
|
|
@@ -1997,23 +2024,21 @@
|
|
|
1997
2024
|
},
|
|
1998
2025
|
"integrationsHub": {
|
|
1999
2026
|
"title": "Інтеграції",
|
|
2000
|
-
"intro": "Підключайте зовнішні системи, які може приєднати цей робочий простір, і керуйте ними.",
|
|
2027
|
+
"intro": "Підключайте необов'язкові зовнішні системи, які може приєднати цей робочий простір, і керуйте ними. Моделі, на яких працюють ваші агенти, є в розділі Постачальники моделей.",
|
|
2001
2028
|
"searchPlaceholder": "Пошук інтеграцій…",
|
|
2002
2029
|
"noMatches": "Жодна інтеграція не відповідає \"{query}\".",
|
|
2003
2030
|
"getStarted": {
|
|
2004
2031
|
"title": "Початок роботи",
|
|
2005
|
-
"body": "Підключіть джерело
|
|
2032
|
+
"body": "Підключіть джерело коду, щоб вашим конвеєрам було над чим працювати."
|
|
2006
2033
|
},
|
|
2007
2034
|
"status": {
|
|
2008
2035
|
"connected": "Підключено",
|
|
2009
|
-
"keyConnected": "Ключ підключено",
|
|
2010
2036
|
"notConnected": "Не підключено",
|
|
2011
2037
|
"needsAttention": "Потребує уваги",
|
|
2012
2038
|
"disabled": "Вимкнено",
|
|
2013
2039
|
"recommended": "Рекомендовано"
|
|
2014
2040
|
},
|
|
2015
2041
|
"groups": {
|
|
2016
|
-
"models": "Моделі та постачальники",
|
|
2017
2042
|
"sourceControl": "Контроль версій",
|
|
2018
2043
|
"communication": "Комунікація",
|
|
2019
2044
|
"documents": "Документи",
|
|
@@ -2023,16 +2048,6 @@
|
|
|
2023
2048
|
"personal": "Особисте (лише ви)"
|
|
2024
2049
|
},
|
|
2025
2050
|
"items": {
|
|
2026
|
-
"openrouter": {
|
|
2027
|
-
"description": "Єдиний шлюз до понад 300 моделей. Додайте свій ключ і вмикайте моделі в одному місці."
|
|
2028
|
-
},
|
|
2029
|
-
"vendors": {
|
|
2030
|
-
"label": "Постачальники та ключі",
|
|
2031
|
-
"description": "Підписки LLM робочого простору та ключі API постачальників."
|
|
2032
|
-
},
|
|
2033
|
-
"personalSubs": {
|
|
2034
|
-
"label": "Особисті підписки (Claude, ChatGPT/Codex, GLM)"
|
|
2035
|
-
},
|
|
2036
2051
|
"github": {
|
|
2037
2052
|
"description": "Підключіть GitHub App робочого простору, переглядайте репозиторії, PR-и та тикети."
|
|
2038
2053
|
},
|
|
@@ -2072,10 +2087,6 @@
|
|
|
2072
2087
|
"label": "Мій токен GitHub",
|
|
2073
2088
|
"description": "Особистий токен доступу, який використовується для запусків, що ви розпочинаєте (pushes, PR-и, CI, злиття)."
|
|
2074
2089
|
},
|
|
2075
|
-
"localRunners": {
|
|
2076
|
-
"label": "Мої локальні виконавці",
|
|
2077
|
-
"description": "Ваші виконавці моделей на власній машині (Ollama, LM Studio, vLLM…)."
|
|
2078
|
-
},
|
|
2079
2090
|
"documentTemplates": {
|
|
2080
2091
|
"label": "Шаблони та приклади"
|
|
2081
2092
|
},
|
|
@@ -2085,6 +2096,45 @@
|
|
|
2085
2096
|
}
|
|
2086
2097
|
}
|
|
2087
2098
|
},
|
|
2099
|
+
"modelProvidersHub": {
|
|
2100
|
+
"title": "Постачальники моделей",
|
|
2101
|
+
"intro": "Рушії, на яких працюють ваші агенти. Щоб виконався бодай один крок конвеєра, має бути підключений принаймні один постачальник.",
|
|
2102
|
+
"searchPlaceholder": "Пошук постачальників…",
|
|
2103
|
+
"noMatches": "Немає постачальників, що відповідають \"{query}\".",
|
|
2104
|
+
"getStarted": {
|
|
2105
|
+
"title": "Жодного постачальника ще не підключено",
|
|
2106
|
+
"body": "Кроки агента не можуть виконуватися, доки модель недоступна. Ключ OpenRouter відкриває широкий каталог найшвидше, але ключі постачальників, особистий план чи власний локальний виконавець працюють так само добре."
|
|
2107
|
+
},
|
|
2108
|
+
"status": {
|
|
2109
|
+
"connected": "Підключено",
|
|
2110
|
+
"keyConnected": "Ключ підключено",
|
|
2111
|
+
"notConnected": "Не підключено",
|
|
2112
|
+
"recommended": "Рекомендовано",
|
|
2113
|
+
"connectedCount": "{count} підключено | {count} підключено | {count} підключено"
|
|
2114
|
+
},
|
|
2115
|
+
"groups": {
|
|
2116
|
+
"workspace": "Постачальники робочого простору",
|
|
2117
|
+
"personal": "Особисте (лише ви)",
|
|
2118
|
+
"personalNote": "Вони належать вашому обліковому запису, а не робочому простору, і використовуються лише для запусків, які починаєте ви. Їх також перелічено в розділі Моє налаштування."
|
|
2119
|
+
},
|
|
2120
|
+
"items": {
|
|
2121
|
+
"openrouter": {
|
|
2122
|
+
"description": "Єдиний шлюз до понад 300 моделей. Додайте свій ключ і вмикайте моделі в одному місці."
|
|
2123
|
+
},
|
|
2124
|
+
"vendors": {
|
|
2125
|
+
"label": "Постачальники та ключі",
|
|
2126
|
+
"description": "Підписки LLM робочого простору та ключі API постачальників."
|
|
2127
|
+
},
|
|
2128
|
+
"personalSubs": {
|
|
2129
|
+
"label": "Мої підписки",
|
|
2130
|
+
"description": "Плани індивідуального використання, які ви розблоковуєте особистим паролем (Claude, GLM, Codex)."
|
|
2131
|
+
},
|
|
2132
|
+
"localRunners": {
|
|
2133
|
+
"label": "Мої локальні виконавці",
|
|
2134
|
+
"description": "Виконавці моделей на вашій власній машині (Ollama, LM Studio, vLLM)."
|
|
2135
|
+
}
|
|
2136
|
+
}
|
|
2137
|
+
},
|
|
2088
2138
|
"shortcuts": {
|
|
2089
2139
|
"title": "Комбінації клавіш",
|
|
2090
2140
|
"commandBar": "Відкрити командний рядок",
|
|
@@ -2653,6 +2703,32 @@
|
|
|
2653
2703
|
"removeFailed": "Не вдалося видалити спільний стек"
|
|
2654
2704
|
}
|
|
2655
2705
|
},
|
|
2706
|
+
"composeEnvSetup": {
|
|
2707
|
+
"title": "Покрокове налаштування Docker Compose для сервісу",
|
|
2708
|
+
"lead": "Проводить один сервіс через створення рецепта Docker Compose, з якого піднімаються його тестові середовища, замість ручного введення шляху до compose і кроків підготовки.",
|
|
2709
|
+
"how": {
|
|
2710
|
+
"title": "Як це працює",
|
|
2711
|
+
"scan": "Сканує пов'язаний репозиторій сервісу на предмет файлів compose, профілів, файлів env і дампів початкових даних.",
|
|
2712
|
+
"analyse": "За бажанням запускає агента-аналітика середовища, щоб на основі власних скриптів репозиторію накидати кроки підготовки та перевірку готовності.",
|
|
2713
|
+
"preflight": "Виконує попередні перевірки рецепта на машині, яка його підніматиме.",
|
|
2714
|
+
"save": "Зберігає рецепт на сервісі й реєструє обробник Docker Compose робочого простору.",
|
|
2715
|
+
"outcome": "Далі Deployer піднімає саме цей стек щоразу, коли конвеєру потрібне живе середовище, а Tester працює проти нього. Нічого не застосовується, доки ви не збережете."
|
|
2716
|
+
},
|
|
2717
|
+
"needed": {
|
|
2718
|
+
"title": "Це потрібно, коли",
|
|
2719
|
+
"running": "Тести сервісу потребують реально запущеного застосунку: тести API чи інтерфейсу, міграції, початкові дані.",
|
|
2720
|
+
"compose": "Сервіс піднімається через Docker Compose і ще не має збереженого рецепта.",
|
|
2721
|
+
"setup": "Підняття стека потребує більше ніж однієї команди: профілів, файлів env, початкових даних або перевірки готовності."
|
|
2722
|
+
},
|
|
2723
|
+
"notNeeded": {
|
|
2724
|
+
"title": "Це можна пропустити, коли",
|
|
2725
|
+
"inContainer": "Конвеєр лише запускає лінтер, збірку або модульні тести. Вони виконуються в контейнері агента як перевірки перед PR, без підняття середовища.",
|
|
2726
|
+
"otherBackend": "Сервіс піднімається іншим способом (Kubernetes, хмарний попередній перегляд або взагалі без інфраструктури). Налаштуйте це вище.",
|
|
2727
|
+
"noRepo": "Сервіс не має пов'язаного репозиторію, тож сканувати нічого."
|
|
2728
|
+
},
|
|
2729
|
+
"start": "Почати покрокове налаштування",
|
|
2730
|
+
"rerunHint": "Запускайте повторно будь-коли, щоб змінити збережений рецепт."
|
|
2731
|
+
},
|
|
2656
2732
|
"localMode": {
|
|
2657
2733
|
"title": "Локальний режим",
|
|
2658
2734
|
"intro": "Налаштування локального запускача контейнерів, збережене на розгортанні цієї машини (воно замінило змінні середовища {poolVars} / {harnessVars}). Збереження змінює розмір теплого пулу наживо, без потреби в перезапуску; поточні запуски зберігають контейнер, який вони вже утримують.",
|
|
@@ -5257,8 +5333,8 @@
|
|
|
5257
5333
|
},
|
|
5258
5334
|
"environmentWizard": {
|
|
5259
5335
|
"progress": "Крок {index} з {total}",
|
|
5260
|
-
"title": "
|
|
5261
|
-
"subtitle": "
|
|
5336
|
+
"title": "Налаштування середовища Docker Compose",
|
|
5337
|
+
"subtitle": "Створіть рецепт Docker Compose, з якого піднімаються тестові середовища сервісу: сканування репозиторію, перегляд, попередні перевірки, збереження.",
|
|
5262
5338
|
"recommended": "рекомендовано",
|
|
5263
5339
|
"steps": {
|
|
5264
5340
|
"pick": "Обрати сервіс",
|
|
@@ -5268,6 +5344,7 @@
|
|
|
5268
5344
|
},
|
|
5269
5345
|
"pick": {
|
|
5270
5346
|
"intro": "Оберіть сервіс, для якого налаштувати середовище Docker Compose.",
|
|
5347
|
+
"scope": "Змінюється лише вибраний сервіс. Запустіть це пізніше ще раз, щоб відредагувати його рецепт.",
|
|
5271
5348
|
"empty": "Сервісів ще немає. Спершу додайте сервіс."
|
|
5272
5349
|
},
|
|
5273
5350
|
"review": {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cat-factory/app",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.178.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.40",
|
|
42
42
|
"wretch": "^3.0.9",
|
|
43
|
-
"@cat-factory/contracts": "0.
|
|
43
|
+
"@cat-factory/contracts": "0.187.0"
|
|
44
44
|
},
|
|
45
45
|
"devDependencies": {
|
|
46
46
|
"@toad-contracts/testing": "0.3.2",
|