@cat-factory/app 0.256.3 → 0.258.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/binaryCandidates/BinaryCandidatesWindow.vue +284 -0
- package/app/components/binaryOutput/BinaryOutputReport.vue +75 -0
- package/app/components/board/AddTaskModal.vue +38 -12
- package/app/components/board/RecurringPipelineModal.vue +24 -12
- package/app/components/board/nodes/TaskCard.vue +34 -7
- package/app/components/forkDecision/ForkDecisionWindow.vue +3 -1
- package/app/components/panels/AgentStepDetail.vue +42 -20
- package/app/components/panels/InspectorPanel.vue +39 -0
- package/app/components/panels/ResultWindowShell.logic.spec.ts +4 -0
- package/app/components/panels/inspector/TaskExecution.vue +34 -34
- package/app/components/pipeline/BinaryOutputStepPicker.logic.spec.ts +119 -1
- package/app/components/pipeline/BinaryOutputStepPicker.logic.ts +115 -1
- package/app/components/pipeline/BinaryOutputStepPicker.vue +463 -1
- package/app/components/pipeline/PipelineBuilder.vue +44 -0
- package/app/components/pipeline/PipelinePreview.vue +20 -1
- package/app/components/pipeline/PipelineProgress.vue +50 -0
- package/app/composables/api/binaryCandidates.ts +36 -0
- package/app/composables/api/execution.ts +19 -0
- package/app/composables/useApi.ts +2 -0
- package/app/composables/usePipelineHealth.spec.ts +42 -5
- package/app/composables/usePipelineHealth.ts +109 -48
- package/app/modular/agent-kinds.ts +5 -0
- package/app/modular/result-views.ts +4 -0
- package/app/stores/binaryCandidates.ts +89 -0
- package/app/stores/environmentWizard/context.ts +0 -2
- package/app/stores/environmentWizard/flow.ts +11 -6
- package/app/stores/environmentWizard.ts +12 -11
- package/app/stores/execution/commands.ts +26 -1
- package/app/stores/pipelines/draftActions.ts +2 -0
- package/app/stores/pipelines/draftStepConfig.ts +4 -161
- package/app/stores/pipelines/draftStepOptions.ts +204 -0
- package/app/stores/ui/resultViews.ts +8 -6
- package/app/stores/ui/runStepOpeners.ts +23 -1
- package/app/types/domain.ts +6 -0
- package/app/types/execution.ts +5 -0
- package/app/utils/agentPalette.spec.ts +26 -0
- package/app/utils/agentPalette.ts +9 -4
- package/app/utils/binaryCandidates.spec.ts +110 -0
- package/app/utils/binaryCandidates.ts +126 -0
- package/app/utils/binaryOutput.spec.ts +122 -1
- package/app/utils/binaryOutput.ts +149 -2
- package/app/utils/catalog.spec.ts +24 -0
- package/app/utils/catalog.ts +21 -4
- package/app/utils/pipeline.spec.ts +35 -3
- package/app/utils/pipeline.ts +54 -3
- package/app/utils/pipelineRender.spec.ts +122 -1
- package/app/utils/pipelineRender.ts +113 -2
- package/i18n/locales/de.json +107 -3
- package/i18n/locales/en.json +107 -3
- package/i18n/locales/es.json +107 -3
- package/i18n/locales/fr.json +107 -3
- package/i18n/locales/he.json +107 -3
- package/i18n/locales/it.json +107 -3
- package/i18n/locales/ja.json +107 -3
- package/i18n/locales/pl.json +107 -3
- package/i18n/locales/tr.json +107 -3
- package/i18n/locales/uk.json +107 -3
- package/i18n/plural-forms.spec.ts +15 -0
- package/package.json +2 -2
package/i18n/locales/tr.json
CHANGED
|
@@ -1109,6 +1109,7 @@
|
|
|
1109
1109
|
},
|
|
1110
1110
|
"chooseApproach": "Yaklaşım seç",
|
|
1111
1111
|
"triageFollowUps": "Takipleri karara bağla",
|
|
1112
|
+
"chooseCandidates": "Adayları karara bağla",
|
|
1112
1113
|
"elapsedTooltip": "Bu adımda geçen süre",
|
|
1113
1114
|
"reviewFindings": "Bulguları incele",
|
|
1114
1115
|
"dryRun": "Prova çalışması",
|
|
@@ -1387,8 +1388,10 @@
|
|
|
1387
1388
|
"decisionRequired": "Karar gerekli",
|
|
1388
1389
|
"followUpsParked": "Coder, çalıştırmanın devam edebilmesi için karara bağlanması gereken takipler ortaya çıkardı. Her maddeyi takipler penceresinde ele alın (kaydet, geri gönder, yanıtla veya yok say).",
|
|
1389
1390
|
"forkParked": "Bu Coder adımı, kod yazılmadan önce bir uygulama yaklaşımının seçilmesini bekliyor. Karar penceresinde önerilen bir yaklaşımı seçin (veya kendi yaklaşımınızı girin).",
|
|
1391
|
+
"candidatesParked": "Bu adım adaylar üretti ve herhangi bir çıktı teslim etmeden önce hangilerinin saklanacağının seçilmesini bekliyor. Adaylar penceresinde karşılaştırın ve istediklerinizi saklayın.",
|
|
1390
1392
|
"openFollowUps": "Takipleri aç",
|
|
1391
1393
|
"chooseApproach": "Yaklaşım seç",
|
|
1394
|
+
"chooseCandidates": "Adayları seç",
|
|
1392
1395
|
"expandAll": "Tüm bölümleri genişlet",
|
|
1393
1396
|
"collapseAll": "Tüm bölümleri daralt",
|
|
1394
1397
|
"copyRawOutput": "Ham çıktıyı kopyala",
|
|
@@ -1545,6 +1548,8 @@
|
|
|
1545
1548
|
"priorDocHint": "Önceki incelemeden. Bir temel olarak kullanın: yukarıdaki açıklamayı düzenleyip yeniden gönderin.",
|
|
1546
1549
|
"bootstrapping": "Önyükleniyor…",
|
|
1547
1550
|
"viewRequirements": "Gereksinimleri Görüntüle",
|
|
1551
|
+
"mapService": "Servisi haritala",
|
|
1552
|
+
"mapServiceNoRepo": "Önce bu servise bir depo bağlayın — henüz haritalanacak bir şey yok.",
|
|
1548
1553
|
"reRun": "Yeniden çalıştır",
|
|
1549
1554
|
"run": "Çalıştır",
|
|
1550
1555
|
"focus": "Odaklan",
|
|
@@ -4600,7 +4605,11 @@
|
|
|
4600
4605
|
"preview": {
|
|
4601
4606
|
"stepCount": "{count} adım | {count} adım",
|
|
4602
4607
|
"gateCount": "{count} onay | {count} onay",
|
|
4603
|
-
"gated": "Bu adımdan sonra insan onayı"
|
|
4608
|
+
"gated": "Bu adımdan sonra insan onayı",
|
|
4609
|
+
"conditionalCount": "{count} koşullu adım | {count} koşullu adım",
|
|
4610
|
+
"conditionEstimate": "Yalnızca görev tahmini bu adımın eşiklerini aştığında çalışır",
|
|
4611
|
+
"conditionFrontend": "Yalnızca görev bir ön uç servisini değiştirdiğinde çalışır",
|
|
4612
|
+
"conditionBackend": "Yalnızca görev ön uç olmayan bir servisi değiştirdiğinde çalışır"
|
|
4604
4613
|
},
|
|
4605
4614
|
"picker": {
|
|
4606
4615
|
"noneHint": "Varsayılan pipeline yok. Görevi çalıştırırken birini seçersin.",
|
|
@@ -4686,6 +4695,11 @@
|
|
|
4686
4695
|
"edit": "Bu pipeline'ı düzenle",
|
|
4687
4696
|
"delete": "Bu pipeline'ı sil",
|
|
4688
4697
|
"disabledStepTooltip": "Devre dışı, çalıştırmada atlanır",
|
|
4698
|
+
"condition": {
|
|
4699
|
+
"always": "Her görevde çalışır — koşullu yapmak için tıklayın",
|
|
4700
|
+
"frontend": "Yalnızca ön uç servisini değiştiren görevlerde çalışır",
|
|
4701
|
+
"backend": "Yalnızca ön uç olmayan bir servisi değiştiren görevlerde çalışır"
|
|
4702
|
+
},
|
|
4689
4703
|
"cancelEdit": "Düzenlemeyi iptal et",
|
|
4690
4704
|
"clear": "Temizle",
|
|
4691
4705
|
"update": "Pipeline'ı güncelle",
|
|
@@ -4766,7 +4780,51 @@
|
|
|
4766
4780
|
"3d-model": "3B modeller",
|
|
4767
4781
|
"3d-scene": "3B sahneler",
|
|
4768
4782
|
"document": "Belgeler"
|
|
4769
|
-
}
|
|
4783
|
+
},
|
|
4784
|
+
"binaryCapability": {
|
|
4785
|
+
"reference-image": "Referans görsel",
|
|
4786
|
+
"multi-reference": "Birden çok referans görsel",
|
|
4787
|
+
"instruction-edit": "Yönergeyle düzenleme",
|
|
4788
|
+
"mask-edit": "Maskeli düzenleme",
|
|
4789
|
+
"negative-prompt": "Negatif istem",
|
|
4790
|
+
"seed": "Sabit tohum",
|
|
4791
|
+
"aspect-ratio": "En boy oranı",
|
|
4792
|
+
"exact-size": "Tam boyut",
|
|
4793
|
+
"candidate-batch": "Çağrı başına birden çok aday",
|
|
4794
|
+
"upscale": "Büyütme",
|
|
4795
|
+
"transparent-background": "Saydam arka plan",
|
|
4796
|
+
"tileable": "Kusursuz döşenebilir"
|
|
4797
|
+
},
|
|
4798
|
+
"binaryCapabilityUnknown": "{capability} (bu kurulumun tanımlamadığı bir yetenek)",
|
|
4799
|
+
"binaryCapabilityUnsupported": "Seçili entegrasyonların hiçbiri, bu adımın üretim seçeneklerinin istediği {capabilities} desteğini sunmuyor. Seçeneği kaldırın ya da yeteneği bildiren bir entegrasyon seçin.",
|
|
4800
|
+
"binaryCapabilityUnverifiable": "Seçili entegrasyonların hiçbiri {capabilities} desteğini bildirmiyor, ancak biri hiç yetenek bildirmiyor, bu yüzden bu doğrulanamadı. Adım yine de başlar; entegrasyonun API’sinden teyit edin.",
|
|
4801
|
+
"binaryReferenceImages": "Referans görseller",
|
|
4802
|
+
"binaryReferenceImagesPlaceholder": "rol{'|'}konum{'|'}servis, her satıra bir tane",
|
|
4803
|
+
"binaryReferenceImagesUnusable": "Referans olarak kaydedilmedi: {entries}. Her satır rol{'|'}konum biçiminde olmalı; rol style, subject, composition veya base olabilir.",
|
|
4804
|
+
"binaryEditMode": "Mevcudu düzenle",
|
|
4805
|
+
"binaryEditModeNone": "Yeni üret",
|
|
4806
|
+
"binaryEditModeInstruction": "Bir yönergeyle",
|
|
4807
|
+
"binaryEditModeMask": "Maskeli bölge",
|
|
4808
|
+
"binaryEditInstruction": "Neyin değişeceği",
|
|
4809
|
+
"binaryEditInstructionPlaceholder": "örn. gökyüzünü değiştir",
|
|
4810
|
+
"binaryNegativePrompt": "Negatif istem",
|
|
4811
|
+
"binaryNegativePromptPlaceholder": "nelerden kaçınılacağı",
|
|
4812
|
+
"binaryAspectRatio": "En boy oranı",
|
|
4813
|
+
"binaryAspectRatioPlaceholder": "16:9",
|
|
4814
|
+
"binaryOutputSize": "Çıktı boyutu",
|
|
4815
|
+
"binaryOutputSizeWidth": "Genişlik",
|
|
4816
|
+
"binaryOutputSizeHeight": "Yükseklik",
|
|
4817
|
+
"binaryOutputSizeIncomplete": "Kaydedilmedi: tam boyut için hem genişlik hem yükseklik gerekir.",
|
|
4818
|
+
"binaryOutputSizeAmbiguous": "Tam çıktı boyutu {options} ile birlikte kullanılamaz: her biri teslim edilecek ölçüleri ikinci kez belirtir. Gereksinim olan hangisiyse onu bırakın.",
|
|
4819
|
+
"binarySeed": "Tohum",
|
|
4820
|
+
"binarySeedPlaceholder": "sabit tohum",
|
|
4821
|
+
"binaryTransparent": "Saydam arka plan",
|
|
4822
|
+
"binaryTileable": "Kusursuz döşenebilir",
|
|
4823
|
+
"binaryUpscale": "Sonucu büyüt",
|
|
4824
|
+
"binaryComparison": "Teslimden önce adayları karşılaştır",
|
|
4825
|
+
"binaryPerGenerator": "Entegrasyon başına aday",
|
|
4826
|
+
"binaryMultiSelect": "Birden fazlasını tutmaya izin ver",
|
|
4827
|
+
"binaryComparisonUnreachable": "Bu adım her konu için yalnızca bir aday üretebilir; karşılaştırılacak bir şey olmaz ve tek aday sorulmadan tutulur. İkinci bir entegrasyon seçin ya da entegrasyon başına aday sayısını artırın."
|
|
4770
4828
|
},
|
|
4771
4829
|
"progress": {
|
|
4772
4830
|
"status": {
|
|
@@ -4813,9 +4871,20 @@
|
|
|
4813
4871
|
"proposing": "Yaklaşımlar öneriliyor…",
|
|
4814
4872
|
"choose": "Bir yaklaşım seçin"
|
|
4815
4873
|
},
|
|
4874
|
+
"binaryCandidates": {
|
|
4875
|
+
"choose": "Bir aday seçin"
|
|
4876
|
+
},
|
|
4816
4877
|
"elapsedTooltip": "Bu adımda geçen süre",
|
|
4817
4878
|
"prReview": {
|
|
4818
4879
|
"review": "Bulguları incele"
|
|
4880
|
+
},
|
|
4881
|
+
"skipped": {
|
|
4882
|
+
"gated": "Atlandı: görev tahmini bu adımın eşiklerinin altında kaldı.",
|
|
4883
|
+
"conditionFrontend": "Atlandı: bu görev hiçbir frontend servisini değiştirmiyor, dolayısıyla denenecek bir arayüz yok.",
|
|
4884
|
+
"conditionBackend": "Atlandı: bu görev yalnızca bir frontend servisini değiştiriyor, dolayısıyla arkasında denenecek bir API yok.",
|
|
4885
|
+
"producerSkipped": "Atlandı: incelediği adım atlandı, dolayısıyla değerlendirilecek bir şey yok.",
|
|
4886
|
+
"runComplete": "Atlandı: çalışma bu adımdan önce sona erdi, yapılacak bir şey kalmadı.",
|
|
4887
|
+
"unknown": "Atlandı: bu adım çalışmadı."
|
|
4819
4888
|
}
|
|
4820
4889
|
},
|
|
4821
4890
|
"health": {
|
|
@@ -6259,13 +6328,21 @@
|
|
|
6259
6328
|
"unknownServices": "Katalogda bulunmayan bir hizmet adı verdi: {ids}. Kayıt bildirildiği gibi saklanır; kimliği pano kataloguyla karşılaştır. | Katalogda bulunmayan hizmet adları verdi: {ids}. Kayıtları bildirildiği gibi saklanır; kimlikleri pano kataloguyla karşılaştır.",
|
|
6260
6329
|
"targetUnknown": "Katalog artık bu adımın kendi depolama hizmetini ({id}) içermiyor, bu yüzden aşağıdakilerin hiçbiri onunla karşılaştırılamadı. Hizmeti yeniden kaydet ya da adımı başka bir hizmete yönlendir.",
|
|
6261
6330
|
"undeliveredMediaTypes": "Bu adım {formats} teslim etmeliydi ve aşağıdaki hiçbir ürün bu biçimi bildirmiyor. | Bu adım {formats} teslim etmeliydi ve aşağıdaki hiçbir ürün bu biçimleri bildirmiyor.",
|
|
6331
|
+
"missized": "1 ürün {width}×{height} dışında bir boyutta teslim edildi. | {count} ürün {width}×{height} dışında bir boyutta teslim edildi.",
|
|
6332
|
+
"sizeUnreported": "1 ürün boyut bildirmiyor, bu yüzden boyutu denetlenemedi. | {count} ürün boyut bildirmiyor, bu yüzden boyutları denetlenemedi.",
|
|
6262
6333
|
"misdirected": "1 ürün {target} dışında bir hizmete gitti. | {count} ürün {target} dışında bir hizmete gitti.",
|
|
6263
6334
|
"invalidEntries": "Bildirilen 1 kayıt düşürüldü: ne hizmet ne de konum belirtiyordu. | Bildirilen {count} kayıt düşürüldü: ne hizmet ne de konum belirtiyorlardı.",
|
|
6264
6335
|
"omitted": "Raporun sınırının ötesinde 1 ürün daha bildirildi ve listede yer almıyor. | Raporun sınırının ötesinde {count} ürün daha bildirildi ve listede yer almıyor.",
|
|
6265
6336
|
"unknownGenerators": "Bu kurulumun kaydetmediği bir üretken entegrasyon belirtildi: {ids}. Kayıt bildirildiği gibi korunur; entegrasyon bu çalışma alanında değil, kurulumun kodunda kaydedilir. | Bu kurulumun kaydetmediği üretken entegrasyonlar belirtildi: {ids}. Kayıtları bildirildiği gibi korunur; entegrasyonlar bu çalışma alanında değil, kurulumun kodunda kaydedilir.",
|
|
6266
6337
|
"generatorsUnverified": "Adım tamamlanırken bu dağıtımın üretken entegrasyonları okunamadı, bu yüzden aşağıda adı geçen entegrasyonlar bunlarla karşılaştırılmadı. Kayıtlar bildirildiği gibi saklanır."
|
|
6267
6338
|
},
|
|
6268
|
-
"unknownGeneratorBadge": "Kayıtlı değil"
|
|
6339
|
+
"unknownGeneratorBadge": "Kayıtlı değil",
|
|
6340
|
+
"missizedBadge": "Yanlış boyut",
|
|
6341
|
+
"candidates": {
|
|
6342
|
+
"automatic": "{total} aday üretildi ve inceleme olmadan otomatik olarak tutuldu.",
|
|
6343
|
+
"chosen": "Üretilen {total} adayın {kept} tanesi tutuldu.",
|
|
6344
|
+
"awaiting": "{total} aday üretildi ve karşılaştırılmayı bekliyor."
|
|
6345
|
+
}
|
|
6269
6346
|
},
|
|
6270
6347
|
"sandbox": {
|
|
6271
6348
|
"title": "Sandbox: prompt ve model testi",
|
|
@@ -7551,5 +7628,32 @@
|
|
|
7551
7628
|
"resolverFailed": "Bu araç adresini belirlerken hata verdi. Nedeni, bu dağıtımı yönetenler için tarayıcı konsolunda yer alıyor.",
|
|
7552
7629
|
"unsafeUrl": "Bu araç web bağlantısı olmayan bir adres döndürdü, bu yüzden açılmadı."
|
|
7553
7630
|
}
|
|
7631
|
+
},
|
|
7632
|
+
"binaryCandidates": {
|
|
7633
|
+
"title": "Üretilen adaylar",
|
|
7634
|
+
"titleWithBlock": "Üretilen adaylar: {title}",
|
|
7635
|
+
"subtitle": "Her entegrasyonun ürettiğini karşılaştırın ve istediğinizi tutun",
|
|
7636
|
+
"automatic": "Yalnızca bir aday üretildi, bu yüzden otomatik olarak tutuldu. Kimse incelemedi.",
|
|
7637
|
+
"unlabelledSubject": "Konu bildirilmedi",
|
|
7638
|
+
"noPreview": "Önizleme yok",
|
|
7639
|
+
"fromGenerator": "{generator} kaynaklı",
|
|
7640
|
+
"unattributed": "Entegrasyon kaydedilmedi",
|
|
7641
|
+
"kept": "Tutuldu",
|
|
7642
|
+
"keptAs": "{id} olarak tutuldu",
|
|
7643
|
+
"storeAsPlaceholder": "bu kimlikle sakla",
|
|
7644
|
+
"notePlaceholder": "Saklarken değişmesi gerekenler (isteğe bağlı)",
|
|
7645
|
+
"missingAlias": "Tutulan her adaya kendi kimliğini verin, yoksa hepsi aynı adla saklanır.",
|
|
7646
|
+
"duplicateAlias": "Tutulan iki aday aynı kimliği paylaşıyor. Tek konumdaki iki çıktı, tek çıktıdır.",
|
|
7647
|
+
"keepAction": "{count} tanesini tut",
|
|
7648
|
+
"warning": {
|
|
7649
|
+
"omitted": "Üst sınırın ötesinde {count} aday elendi, bu liste yalnızca baştan bir bölüm. ",
|
|
7650
|
+
"invalid": "Bildirilen {count} kayıt okunamadı ve burada yok. ",
|
|
7651
|
+
"previews": "{count} önizleme bağlantısı reddedildi, o adaylar görselsiz gösteriliyor."
|
|
7652
|
+
},
|
|
7653
|
+
"noChoice": {
|
|
7654
|
+
"undeclared": "Adım adaylarını hiç bildirmedi, bu yüzden karşılaştırılacak bir şey yoktu. Çalıştırma devam etti.",
|
|
7655
|
+
"parseFailed": "Adımın aday bildirimi okunamadı, bu yüzden karşılaştırılacak bir şey yoktu. Çalıştırma devam etti.",
|
|
7656
|
+
"noCandidates": "Adım hiç aday hazırlamadı, bu yüzden karşılaştırılacak bir şey yoktu. Çalıştırma devam etti."
|
|
7657
|
+
}
|
|
7554
7658
|
}
|
|
7555
7659
|
}
|
package/i18n/locales/uk.json
CHANGED
|
@@ -1109,6 +1109,7 @@
|
|
|
1109
1109
|
},
|
|
1110
1110
|
"chooseApproach": "Обрати підхід",
|
|
1111
1111
|
"triageFollowUps": "Вирішити подальші дії",
|
|
1112
|
+
"chooseCandidates": "Вирішити кандидатів",
|
|
1112
1113
|
"elapsedTooltip": "Час, що минув на цьому кроці",
|
|
1113
1114
|
"reviewFindings": "Переглянути зауваження",
|
|
1114
1115
|
"dryRun": "Пробний запуск",
|
|
@@ -1387,8 +1388,10 @@
|
|
|
1387
1388
|
"decisionRequired": "Потрібне рішення",
|
|
1388
1389
|
"followUpsParked": "Coder підняв подальші дії, які потребують рішення, перш ніж запуск зможе продовжитися. Опрацюйте кожен елемент (створіть, поверніть, дайте відповідь або відхиліть) у вікні подальших дій.",
|
|
1389
1390
|
"forkParked": "Цей крок Coder чекає на вибір підходу до реалізації, перш ніж буде написано код. Виберіть запропонований підхід (або введіть власний) у вікні рішення.",
|
|
1391
|
+
"candidatesParked": "Цей крок згенерував кандидатів і чекає, поки хтось обере, яких залишити, перш ніж щось доставити. Порівняйте їх і залиште потрібних у вікні кандидатів.",
|
|
1390
1392
|
"openFollowUps": "Відкрити подальші дії",
|
|
1391
1393
|
"chooseApproach": "Вибрати підхід",
|
|
1394
|
+
"chooseCandidates": "Обрати кандидатів",
|
|
1392
1395
|
"expandAll": "Розгорнути всі розділи",
|
|
1393
1396
|
"collapseAll": "Згорнути всі розділи",
|
|
1394
1397
|
"copyRawOutput": "Скопіювати сирий вивід",
|
|
@@ -1545,6 +1548,8 @@
|
|
|
1545
1548
|
"priorDocHint": "З попереднього огляду. Використайте його як основу: відредагуйте опис вище та надішліть повторно.",
|
|
1546
1549
|
"bootstrapping": "Ініціалізація…",
|
|
1547
1550
|
"viewRequirements": "Переглянути вимоги",
|
|
1551
|
+
"mapService": "Скласти карту сервісу",
|
|
1552
|
+
"mapServiceNoRepo": "Спершу приєднайте репозиторій до цього сервісу — поки що нема чого картувати.",
|
|
1548
1553
|
"reRun": "Перезапустити",
|
|
1549
1554
|
"run": "Запустити",
|
|
1550
1555
|
"focus": "Фокус",
|
|
@@ -4600,7 +4605,11 @@
|
|
|
4600
4605
|
"preview": {
|
|
4601
4606
|
"stepCount": "{count} крок | {count} кроки | {count} кроків",
|
|
4602
4607
|
"gateCount": "{count} підтвердження | {count} підтвердження | {count} підтверджень",
|
|
4603
|
-
"gated": "Ручне підтвердження після цього кроку"
|
|
4608
|
+
"gated": "Ручне підтвердження після цього кроку",
|
|
4609
|
+
"conditionalCount": "{count} умовний крок | {count} умовні кроки | {count} умовних кроків",
|
|
4610
|
+
"conditionEstimate": "Виконується, лише якщо оцінка завдання перевищує пороги цього кроку",
|
|
4611
|
+
"conditionFrontend": "Виконується, лише якщо завдання змінює фронтенд-сервіс",
|
|
4612
|
+
"conditionBackend": "Виконується, лише якщо завдання змінює нефронтенд-сервіс"
|
|
4604
4613
|
},
|
|
4605
4614
|
"picker": {
|
|
4606
4615
|
"noneHint": "Немає типового пайплайну. Ви обираєте його під час запуску завдання.",
|
|
@@ -4686,6 +4695,11 @@
|
|
|
4686
4695
|
"edit": "Редагувати цей пайплайн",
|
|
4687
4696
|
"delete": "Видалити цей пайплайн",
|
|
4688
4697
|
"disabledStepTooltip": "Вимкнено, пропускається під час запуску",
|
|
4698
|
+
"condition": {
|
|
4699
|
+
"always": "Виконується для кожного завдання — натисніть, щоб зробити умовним",
|
|
4700
|
+
"frontend": "Виконується лише для завдань, що змінюють фронтенд-сервіс",
|
|
4701
|
+
"backend": "Виконується лише для завдань, що змінюють нефронтенд-сервіс"
|
|
4702
|
+
},
|
|
4689
4703
|
"cancelEdit": "Скасувати редагування",
|
|
4690
4704
|
"clear": "Очистити",
|
|
4691
4705
|
"update": "Оновити пайплайн",
|
|
@@ -4766,7 +4780,51 @@
|
|
|
4766
4780
|
"3d-model": "3D-моделі",
|
|
4767
4781
|
"3d-scene": "3D-сцени",
|
|
4768
4782
|
"document": "Документи"
|
|
4769
|
-
}
|
|
4783
|
+
},
|
|
4784
|
+
"binaryCapability": {
|
|
4785
|
+
"reference-image": "Референсне зображення",
|
|
4786
|
+
"multi-reference": "Кілька референсних зображень",
|
|
4787
|
+
"instruction-edit": "Редагування за інструкцією",
|
|
4788
|
+
"mask-edit": "Редагування з маскою",
|
|
4789
|
+
"negative-prompt": "Негативний промпт",
|
|
4790
|
+
"seed": "Фіксований seed",
|
|
4791
|
+
"aspect-ratio": "Співвідношення сторін",
|
|
4792
|
+
"exact-size": "Точний розмір",
|
|
4793
|
+
"candidate-batch": "Кілька кандидатів за виклик",
|
|
4794
|
+
"upscale": "Збільшення",
|
|
4795
|
+
"transparent-background": "Прозорий фон",
|
|
4796
|
+
"tileable": "Безшовне замощення"
|
|
4797
|
+
},
|
|
4798
|
+
"binaryCapabilityUnknown": "{capability} (можливість, якої ця інсталяція не визначає)",
|
|
4799
|
+
"binaryCapabilityUnsupported": "Жодна вибрана інтеграція не підтримує {capabilities}, що його вимагають параметри генерації цього кроку. Приберіть параметр або виберіть інтеграцію, яка декларує цю можливість.",
|
|
4800
|
+
"binaryCapabilityUnverifiable": "Жодна вибрана інтеграція не декларує підтримку {capabilities}, але одна з них не декларує жодних можливостей, тож перевірити це не вдалося. Крок усе одно стартує; підтвердьте це в API інтеграції.",
|
|
4801
|
+
"binaryReferenceImages": "Референсні зображення",
|
|
4802
|
+
"binaryReferenceImagesPlaceholder": "роль{'|'}розташування{'|'}сервіс, по одному в рядку",
|
|
4803
|
+
"binaryReferenceImagesUnusable": "Не збережено як референс: {entries}. Кожен рядок має бути роль{'|'}розташування, де роль це style, subject, composition або base.",
|
|
4804
|
+
"binaryEditMode": "Редагувати наявне",
|
|
4805
|
+
"binaryEditModeNone": "Генерувати нове",
|
|
4806
|
+
"binaryEditModeInstruction": "За інструкцією",
|
|
4807
|
+
"binaryEditModeMask": "Ділянка за маскою",
|
|
4808
|
+
"binaryEditInstruction": "Що змінити",
|
|
4809
|
+
"binaryEditInstructionPlaceholder": "напр. замінити небо",
|
|
4810
|
+
"binaryNegativePrompt": "Негативний промпт",
|
|
4811
|
+
"binaryNegativePromptPlaceholder": "чого уникати",
|
|
4812
|
+
"binaryAspectRatio": "Співвідношення сторін",
|
|
4813
|
+
"binaryAspectRatioPlaceholder": "16:9",
|
|
4814
|
+
"binaryOutputSize": "Розмір результату",
|
|
4815
|
+
"binaryOutputSizeWidth": "Ширина",
|
|
4816
|
+
"binaryOutputSizeHeight": "Висота",
|
|
4817
|
+
"binaryOutputSizeIncomplete": "Не збережено: точний розмір потребує і ширини, і висоти.",
|
|
4818
|
+
"binaryOutputSizeAmbiguous": "Точний розмір результату не поєднується з {options}: кожен з них удруге задає розміри, які буде доставлено. Залиште те, що є вимогою.",
|
|
4819
|
+
"binarySeed": "Seed",
|
|
4820
|
+
"binarySeedPlaceholder": "фіксований seed",
|
|
4821
|
+
"binaryTransparent": "Прозорий фон",
|
|
4822
|
+
"binaryTileable": "Безшовне замощення",
|
|
4823
|
+
"binaryUpscale": "Збільшити результат",
|
|
4824
|
+
"binaryComparison": "Порівняти кандидатів перед доставкою",
|
|
4825
|
+
"binaryPerGenerator": "Кандидатів на інтеграцію",
|
|
4826
|
+
"binaryMultiSelect": "Дозволити залишити більше одного",
|
|
4827
|
+
"binaryComparisonUnreachable": "Цей крок може створити лише одного кандидата на предмет, тож порівнювати не буде чого, і єдиного залишать без запитання. Виберіть другу інтеграцію або збільште кількість кандидатів на інтеграцію."
|
|
4770
4828
|
},
|
|
4771
4829
|
"progress": {
|
|
4772
4830
|
"status": {
|
|
@@ -4813,9 +4871,20 @@
|
|
|
4813
4871
|
"proposing": "Пропонування підходів…",
|
|
4814
4872
|
"choose": "Оберіть підхід"
|
|
4815
4873
|
},
|
|
4874
|
+
"binaryCandidates": {
|
|
4875
|
+
"choose": "Оберіть кандидата"
|
|
4876
|
+
},
|
|
4816
4877
|
"elapsedTooltip": "Час, що минув на цьому кроці",
|
|
4817
4878
|
"prReview": {
|
|
4818
4879
|
"review": "Переглянути зауваження"
|
|
4880
|
+
},
|
|
4881
|
+
"skipped": {
|
|
4882
|
+
"gated": "Пропущено: оцінка завдання була нижче порогів цього кроку.",
|
|
4883
|
+
"conditionFrontend": "Пропущено: це завдання не змінює жодного фронтенд-сервісу, тож немає інтерфейсу для перевірки.",
|
|
4884
|
+
"conditionBackend": "Пропущено: це завдання змінює лише фронтенд-сервіс, тож за ним немає API для перевірки.",
|
|
4885
|
+
"producerSkipped": "Пропущено: крок, який він перевіряє, був пропущений, тож немає чого оцінювати.",
|
|
4886
|
+
"runComplete": "Пропущено: запуск завершився до цього кроку, робити було нічого.",
|
|
4887
|
+
"unknown": "Пропущено: цей крок не виконувався."
|
|
4819
4888
|
}
|
|
4820
4889
|
},
|
|
4821
4890
|
"health": {
|
|
@@ -6259,13 +6328,21 @@
|
|
|
6259
6328
|
"unknownServices": "Названо службу, якої немає в каталозі: {ids}. Запис збережено так, як його заявлено; перевірте ідентифікатор у каталозі дошки. | Названо служби, яких немає в каталозі: {ids}. Записи збережено так, як їх заявлено; перевірте ідентифікатори у каталозі дошки. | Названо служби, яких немає в каталозі: {ids}. Записи збережено так, як їх заявлено; перевірте ідентифікатори у каталозі дошки.",
|
|
6260
6329
|
"targetUnknown": "Каталог більше не містить власної служби зберігання цього кроку ({id}), тому нічого нижче не вдалося з нею зіставити. Зареєструйте її знову або вкажіть кроку іншу службу.",
|
|
6261
6330
|
"undeliveredMediaTypes": "Цей крок мав надати {formats}, а жоден артефакт нижче не заявляє цього формату. | Цей крок мав надати {formats}, а жоден артефакт нижче не заявляє цих форматів. | Цей крок мав надати {formats}, а жоден артефакт нижче не заявляє цих форматів.",
|
|
6331
|
+
"missized": "1 артефакт надано в розмірі, відмінному від {width}×{height}. | {count} артефакти надано в розмірі, відмінному від {width}×{height}. | {count} артефактів надано в розмірі, відмінному від {width}×{height}.",
|
|
6332
|
+
"sizeUnreported": "1 артефакт не повідомляє розмірів, тож його розмір не вдалося перевірити. | {count} артефакти не повідомляють розмірів, тож їхні розміри не вдалося перевірити. | {count} артефактів не повідомляє розмірів, тож їхні розміри не вдалося перевірити.",
|
|
6262
6333
|
"misdirected": "1 артефакт потрапив до служби, відмінної від {target}. | {count} артефакти потрапили до служби, відмінної від {target}. | {count} артефактів потрапило до служби, відмінної від {target}.",
|
|
6263
6334
|
"invalidEntries": "Відкинуто 1 заявлений запис: у ньому не було ні служби, ні розташування. | Відкинуто {count} заявлені записи: у них не було ні служби, ні розташування. | Відкинуто {count} заявлених записів: у них не було ні служби, ні розташування.",
|
|
6264
6335
|
"omitted": "Ще 1 артефакт заявлено понад межу звіту, і його немає в списку. | Ще {count} артефакти заявлено понад межу звіту, і їх немає в списку. | Ще {count} артефактів заявлено понад межу звіту, і їх немає в списку.",
|
|
6265
6336
|
"unknownGenerators": "Названо генеративну інтеграцію, якої ця інсталяція не реєструє: {ids}. Запис збережено як заявлено; інтеграція реєструється в коді інсталяції, а не в цьому робочому просторі. | Названо генеративні інтеграції, яких ця інсталяція не реєструє: {ids}. Їхні записи збережено як заявлено; інтеграції реєструються в коді інсталяції, а не в цьому робочому просторі. | Названо генеративних інтеграцій, яких ця інсталяція не реєструє: {ids}. Їхні записи збережено як заявлено; інтеграції реєструються в коді інсталяції, а не в цьому робочому просторі.",
|
|
6266
6337
|
"generatorsUnverified": "Під час завершення кроку не вдалося прочитати генеративні інтеграції цього розгортання, тому названі нижче інтеграції не було з ними звірено. Записи збережено так, як їх заявлено."
|
|
6267
6338
|
},
|
|
6268
|
-
"unknownGeneratorBadge": "Не зареєстровано"
|
|
6339
|
+
"unknownGeneratorBadge": "Не зареєстровано",
|
|
6340
|
+
"missizedBadge": "Неправильний розмір",
|
|
6341
|
+
"candidates": {
|
|
6342
|
+
"automatic": "Створено {total} кандидата й залишено автоматично, без перегляду.",
|
|
6343
|
+
"chosen": "Залишено {kept} із {total} створених кандидатів.",
|
|
6344
|
+
"awaiting": "Створено {total} кандидатів, які очікують на порівняння."
|
|
6345
|
+
}
|
|
6269
6346
|
},
|
|
6270
6347
|
"sandbox": {
|
|
6271
6348
|
"title": "Пісочниця: тестування промптів і моделей",
|
|
@@ -7551,5 +7628,32 @@
|
|
|
7551
7628
|
"resolverFailed": "Цей інструмент завершився помилкою під час визначення своєї адреси. Причина є в консолі браузера, для тих, хто підтримує це розгортання.",
|
|
7552
7629
|
"unsafeUrl": "Цей інструмент повернув адресу, яка не є вебпосиланням, тому її не відкрито."
|
|
7553
7630
|
}
|
|
7631
|
+
},
|
|
7632
|
+
"binaryCandidates": {
|
|
7633
|
+
"title": "Згенеровані кандидати",
|
|
7634
|
+
"titleWithBlock": "Згенеровані кандидати: {title}",
|
|
7635
|
+
"subtitle": "Порівняйте, що створила кожна інтеграція, і залиште те, що хочете",
|
|
7636
|
+
"automatic": "Було створено лише одного кандидата, тож його залишили автоматично. Ніхто його не переглядав.",
|
|
7637
|
+
"unlabelledSubject": "Предмет не вказано",
|
|
7638
|
+
"noPreview": "Попереднього перегляду немає",
|
|
7639
|
+
"fromGenerator": "Від {generator}",
|
|
7640
|
+
"unattributed": "Інтеграцію не зафіксовано",
|
|
7641
|
+
"kept": "Залишено",
|
|
7642
|
+
"keptAs": "Залишено як {id}",
|
|
7643
|
+
"storeAsPlaceholder": "зберегти під цим id",
|
|
7644
|
+
"notePlaceholder": "Що змінити під час збереження (необовʼязково)",
|
|
7645
|
+
"missingAlias": "Дайте кожному залишеному кандидату власний id, інакше всі збережуться під однією назвою.",
|
|
7646
|
+
"duplicateAlias": "Два залишені кандидати мають однаковий id. Два артефакти в одному місці це один артефакт.",
|
|
7647
|
+
"keepAction": "Залишити {count}",
|
|
7648
|
+
"warning": {
|
|
7649
|
+
"omitted": "{count} кандидатів відкинуто понад ліміт, тож цей список лише початок. ",
|
|
7650
|
+
"invalid": "{count} задекларованих записів були нечитабельні й тут відсутні. ",
|
|
7651
|
+
"previews": "{count} посилань на перегляд відхилено, тож ці кандидати показані без зображення."
|
|
7652
|
+
},
|
|
7653
|
+
"noChoice": {
|
|
7654
|
+
"undeclared": "Крок жодного разу не задекларував кандидатів, тож порівнювати не було чого. Виконання тривало.",
|
|
7655
|
+
"parseFailed": "Декларацію кандидатів кроку не вдалося прочитати, тож порівнювати не було чого. Виконання тривало.",
|
|
7656
|
+
"noCandidates": "Крок не підготував жодного кандидата, тож порівнювати не було чого. Виконання тривало."
|
|
7657
|
+
}
|
|
7554
7658
|
}
|
|
7555
7659
|
}
|
|
@@ -43,9 +43,24 @@ const catalogs = new Map(
|
|
|
43
43
|
[SOURCE_LOCALE, ...LOCALES].map((locale) => [locale, loadCatalog(locale)] as const),
|
|
44
44
|
)
|
|
45
45
|
|
|
46
|
+
/**
|
|
47
|
+
* A pipe written as vue-i18n LITERAL INTERPOLATION (`{'|'}`) is a character the message renders,
|
|
48
|
+
* not a form separator: the compiler parses such a message as a plain Message rather than a
|
|
49
|
+
* Plural. So it is stripped before the split, or a message that legitimately shows a pipe (the
|
|
50
|
+
* reference-image field describes a `role|location|service` line) is measured as forms it does
|
|
51
|
+
* not have.
|
|
52
|
+
*
|
|
53
|
+
* Getting this wrong is not merely a false positive. Counting the escaped pipes made a two-pipe
|
|
54
|
+
* message read as three forms, which is a LEGAL count for every locale here, so the sibling key
|
|
55
|
+
* that happened to carry one pipe failed while the more visible one passed silently. A guard that
|
|
56
|
+
* mis-measures does not fail honestly; it fails somewhere else.
|
|
57
|
+
*/
|
|
58
|
+
const LITERAL_INTERPOLATION = /\{\s*'(?:[^'\\]|\\.)*'\s*\}/g
|
|
59
|
+
|
|
46
60
|
/** Pipe-separated plural entries only; a message with no pipe never reaches a selector. */
|
|
47
61
|
function pluralEntries(locale: string): [string, string[]][] {
|
|
48
62
|
return [...catalogs.get(locale)!]
|
|
63
|
+
.map(([key, value]) => [key, value.replace(LITERAL_INTERPOLATION, '')] as const)
|
|
49
64
|
.filter(([, value]) => value.includes('|'))
|
|
50
65
|
.map(([key, value]) => [key, value.split('|')])
|
|
51
66
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cat-factory/app",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.258.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.
|
|
43
|
+
"@cat-factory/contracts": "0.286.0"
|
|
44
44
|
},
|
|
45
45
|
"devDependencies": {
|
|
46
46
|
"@toad-contracts/testing": "0.3.2",
|