@cat-factory/app 0.293.1 → 0.295.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 (39) hide show
  1. package/app/components/board/AddTaskModal.vue +80 -0
  2. package/app/components/board/RecurringPipelineModal.vue +34 -20
  3. package/app/components/bootstrap/BootstrapModal.logic.spec.ts +54 -0
  4. package/app/components/bootstrap/BootstrapModal.logic.ts +44 -0
  5. package/app/components/bootstrap/BootstrapModal.vue +155 -16
  6. package/app/components/bugFishing/BugFishingWindow.vue +524 -0
  7. package/app/components/focus/BlockFocusView.vue +2 -0
  8. package/app/components/github/RepoTreeBrowser.vue +89 -6
  9. package/app/components/layout/NotificationsInbox.vue +15 -0
  10. package/app/components/panels/ResultWindowDrafts.logic.spec.ts +25 -3
  11. package/app/components/panels/ResultWindowShell.logic.spec.ts +4 -0
  12. package/app/components/settings/WorkspaceSettingsPanel.vue +46 -1
  13. package/app/components/slack/SlackPanel.vue +1 -0
  14. package/app/composables/api/bugFishing.ts +52 -0
  15. package/app/composables/useApi.ts +2 -0
  16. package/app/composables/usePipelineErrorToast.ts +21 -0
  17. package/app/modular/result-views.ts +6 -0
  18. package/app/stores/agentRuns.spec.ts +1 -0
  19. package/app/stores/bugFishing.ts +143 -0
  20. package/app/stores/ui/resultViews.ts +14 -7
  21. package/app/stores/ui/runStepOpeners.ts +29 -1
  22. package/app/stores/workspaceSettings.ts +1 -0
  23. package/app/types/bootstrap.ts +1 -0
  24. package/app/types/execution.ts +9 -0
  25. package/app/utils/catalog.spec.ts +1 -0
  26. package/app/utils/catalog.ts +25 -0
  27. package/app/utils/repoPath.spec.ts +49 -0
  28. package/app/utils/repoPath.ts +28 -0
  29. package/i18n/locales/de.json +121 -10
  30. package/i18n/locales/en.json +120 -9
  31. package/i18n/locales/es.json +121 -10
  32. package/i18n/locales/fr.json +121 -10
  33. package/i18n/locales/he.json +121 -10
  34. package/i18n/locales/it.json +121 -10
  35. package/i18n/locales/ja.json +121 -10
  36. package/i18n/locales/pl.json +121 -10
  37. package/i18n/locales/tr.json +121 -10
  38. package/i18n/locales/uk.json +121 -10
  39. package/package.json +2 -2
@@ -223,7 +223,8 @@
223
223
  "media": "Medya",
224
224
  "recurring": "Yinelenen",
225
225
  "review": "İnceleme",
226
- "ralph": "Ralph döngüsü"
226
+ "ralph": "Ralph döngüsü",
227
+ "bugFishing": "Hata avı"
227
228
  },
228
229
  "recurringWithFrame": "Yinelenen bir görev, bir işlem hattını belirli bir aralıkta çalıştırır. Programı ve istemi ayarlamak için devam edin.",
229
230
  "recurringNoFrame": "Yinelenen bir görev bir serviste bulunmalıdır. Bir servis çerçevesinden (veya içindeki bir modülden) ekleyin.",
@@ -338,7 +339,18 @@
338
339
  "prNotFound": "#{number} numaralı pull request bu servisin deposunda bulunamadı. Numarayı kontrol edin veya servisi, pull request'in bulunduğu depoya bağlayın.",
339
340
  "prRepoMismatch": "Bu pull request başka bir depoda. Bu servis {repo} deposunu inceliyor; inceleme görevini pull request'in deposuna bağlı servis altında oluşturun."
340
341
  },
341
- "contextFailed": "Görev oluşturulmadı: {count} ek okunamadı | Görev oluşturulmadı: {count} ek okunamadı"
342
+ "contextFailed": "Görev oluşturulmadı: {count} ek okunamadı | Görev oluşturulmadı: {count} ek okunamadı",
343
+ "bugFishingFields": {
344
+ "angles": {
345
+ "label": "Taranacak açılar",
346
+ "hint": "Her açı, kod tabanını farklı bir soruyla gözden geçiren ayrı bir geçiştir. Hepsini taramak için tüm kutuları boş bırakın.",
347
+ "allSelected": "Tüm açılar taranacak."
348
+ },
349
+ "focus": {
350
+ "label": "Nereye yoğunlaşılsın",
351
+ "placeholder": "Alt sistemler, dizinler ya da bu ekibe en çok zaman kaybettiren kusur türü"
352
+ }
353
+ }
342
354
  },
343
355
  "recurring": {
344
356
  "title": "Yinelenen bir işlem hattı ekle",
@@ -690,7 +702,11 @@
690
702
  "kaizen_entry_not_settled": "Kaizen kaydı henüz değerlendirilmedi",
691
703
  "bootstrap_not_awaiting_review": "Bu bootstrap bir inceleme beklemiyor",
692
704
  "adoption_plan_unavailable": "Onaylanacak bir plan yok",
693
- "monorepo_directory_taken": "Bu dizin zaten var"
705
+ "monorepo_directory_taken": "Bu dizin zaten var",
706
+ "no_expedition": "Bu çalıştırmada hata avı yok",
707
+ "not_awaiting_triage": "Bu sefer triyaj beklemiyor",
708
+ "already_addressed": "Bazı bulguların zaten bir düzeltme görevi var",
709
+ "no_host_frame": "Bu sefer bir hizmetin altında değil"
694
710
  },
695
711
  "description": {
696
712
  "dependencies_unmet": "Bu görev henüz tamamlanmamış başka görevlere bağlı. Onları tamamla veya engelini kaldır, ardından yeniden başlat.",
@@ -735,7 +751,11 @@
735
751
  "kaizen_entry_not_settled": "Değerlendirmesi hâlâ sırada veya sürüyor, bu yüzden onaylanacak bir öneri yok. Tamamlandığında yeniden deneyin.",
736
752
  "bootstrap_not_awaiting_review": "Bu inceleme açıldığından beri çalışma ilerledi. Panoyu yeniden yükle.",
737
753
  "adoption_plan_unavailable": "İnceleme bir plan üretemedi, bu yüzden gönderilecek karar yok.",
738
- "monorepo_directory_taken": "Bootstrap yeni bir servis oluşturur. Henüz var olmayan bir dizin seç ya da mevcut olanı servis olarak içe aktar."
754
+ "monorepo_directory_taken": "Bootstrap yeni bir servis oluşturur. Henüz var olmayan bir dizin seç ya da mevcut olanı servis olarak içe aktar.",
755
+ "no_expedition": "Baktığınız çalıştırma sefer durumu taşımıyor, dolayısıyla triyaj edilecek bir şey yok. Çalıştırmayı yenileyip yeniden deneyin.",
756
+ "not_awaiting_triage": "Ya hâlâ başka bir açıyı tarıyor ya da çoktan bitirilmiş. Nerede olduğunu görmek için çalıştırmayı yenileyin.",
757
+ "already_addressed": "Daha önce onlar için bir düzeltme görevi oluşturulmuştu, bu yüzden yeniden bir şey oluşturulmadı. Mevcut göreve ulaşmak için bulguyu açın.",
758
+ "no_host_frame": "Bir düzeltme görevinin altında yaşayacağı bir hizmete ve düzeltilecek bir depoya ihtiyacı var. Sefer görevini bir hizmet çerçevesinin altına taşıyıp yeniden deneyin."
739
759
  },
740
760
  "action": {
741
761
  "connectGitHub": "GitHub'ı bağla",
@@ -2344,7 +2364,8 @@
2344
2364
  "budget_paused": "Okundu işaretle",
2345
2365
  "budget_threshold": "Okundu işaretle",
2346
2366
  "key_drift": "Eski kimlik bilgilerini kaldır",
2347
- "merge_tag_request": "Eforu kaydet"
2367
+ "merge_tag_request": "Eforu kaydet",
2368
+ "bug_fishing_triage": "Okundu işaretle"
2348
2369
  },
2349
2370
  "toast": {
2350
2371
  "acted": "İşlendi olarak işaretlendi",
@@ -3920,6 +3941,11 @@
3920
3941
  "ageToggle": "Uzun süre önce tamamlanan görevleri de gizle",
3921
3942
  "days": "Sakla (gün)",
3922
3943
  "hidesOnlyHint": "Hiçbir şey silinmez. Tamamlanma tarihi kayıtlı olmayan görevler yaşları nedeniyle asla gizlenmez."
3944
+ },
3945
+ "bugFishing": {
3946
+ "heading": "Hata avı düzeltme hattı",
3947
+ "body": "Bir hata avı bulgusunu işaretlediğinizde düzeltme görevinin çalışacağı hat. İşaretlenen her bulgu bu hat üzerinde kendi görevine dönüşür; işaretleyen kişi bu seçimi tek bir grup için değiştirebilir.",
3948
+ "builtInDefault": "Yerleşik hata düzeltme şablonunu kullan"
3923
3949
  }
3924
3950
  },
3925
3951
  "localModelEndpoints": {
@@ -4486,6 +4512,10 @@
4486
4512
  "selected": "Seçildi",
4487
4513
  "added": "Eklendi",
4488
4514
  "useThisFolder": "Bu klasörü kullan",
4515
+ "createHere": "Burada oluştur",
4516
+ "newDirTarget": "Yeni dizin:",
4517
+ "nameTaken": "{name} burada zaten var. Başka bir klasör seç ya da yukarıdaki adı değiştir.",
4518
+ "exists": "Var",
4489
4519
  "errors": {
4490
4520
  "listDirectory": "Dizin listelenemedi"
4491
4521
  },
@@ -6922,7 +6952,8 @@
6922
6952
  "title": "Son çalıştırmalar",
6923
6953
  "fromArch": "{name} kaynağından",
6924
6954
  "fromScratch": "sıfırdan",
6925
- "open": "Aç"
6955
+ "open": "Aç",
6956
+ "openPr": "Pull request"
6926
6957
  },
6927
6958
  "status": {
6928
6959
  "pending": "beklemede",
@@ -6974,11 +7005,24 @@
6974
7005
  "label": "Servis nereye gidecek",
6975
7006
  "newRepo": {
6976
7007
  "label": "Yeni bir depo",
6977
- "description": "Kendine ait bir depo oluştur ve servisi ilk commit olarak gönder."
7008
+ "description": "Kendine ait bir depo oluşturur ve servisi içine yazar."
6978
7009
  },
6979
7010
  "monorepo": {
6980
7011
  "label": "Mevcut bir monorepo içindeki dizin",
6981
- "description": "Servisi hâlihazırda sahip olduğun bir depoya ekle ve pull request aç."
7012
+ "description": "Servisi hâlihazırda sahip olduğun bir depoya ekler."
7013
+ }
7014
+ },
7015
+ "delivery": {
7016
+ "label": "İş nasıl teslim edilsin",
7017
+ "pullRequest": {
7018
+ "label": "Pull request aç",
7019
+ "descNewRepo": "Bir dal gönderir ve deponun ilk commit’ine karşı pull request açar; böylece iskelet varsayılan dal olmadan önce biri inceler. Deponun zaten bir commit’i olmalıdır.",
7020
+ "descMonorepo": "Bir dal gönderir ve pull request açar. Senin yerine hiçbir şey birleştirilmez."
7021
+ },
7022
+ "directPush": {
7023
+ "label": "Doğrudan gönder",
7024
+ "descNewRepo": "Servisi doğrudan varsayılan dala, deponun ilk commit’i olarak yazar.",
7025
+ "descMonorepo": "Ajan çalışırken varsayılan dala commit atar. Başarısız bir çalıştırma, o ana kadar yazdıklarını geride bırakır."
6982
7026
  }
6983
7027
  },
6984
7028
  "serviceName": {
@@ -6986,7 +7030,7 @@
6986
7030
  "description": "Servisi panoda adlandırır ve dizinini önerir."
6987
7031
  },
6988
7032
  "monorepo": {
6989
- "intro": "Servis mevcut bir deponun dizinine yazılır ve pull request olarak teslim edilir. Senin yerine hiçbir şey birleştirilmez ve yeni dizinin dışında hiçbir şey değişmez.",
7033
+ "intro": "Servis mevcut bir deponun bir dizinine yazılır ve o dizinin dışında hiçbir şey değiştirilmez.",
6990
7034
  "repo": {
6991
7035
  "label": "Monorepo",
6992
7036
  "description": "Yeni servisin yaşayacağı depo. Bu çalışma alanına önceden bağlanmış olmalı.",
@@ -6995,8 +7039,11 @@
6995
7039
  },
6996
7040
  "directory": {
6997
7041
  "label": "Servis dizini",
6998
- "description": "Servisin depo köküne göre nerede olduğu. Henüz var olmamalı.",
7042
+ "description": "Servisin depo köküne göre nerede olduğu. Çalıştırma onu oluşturur, bu yüzden henüz var olmamalı.",
6999
7043
  "placeholder": "services/payments",
7044
+ "browse": "Depoyu keşfet",
7045
+ "browseHint": "Servisin yer alacağı klasörü aç. Yukarıdaki ad onun içinde oluşturulur, dolayısıyla ağaçta seçilecek bir şey yok.",
7046
+ "browseNeedsName": "Önce yukarıda bir dizin (ya da aşağıda servis adı) belirt. Keşfetmek bu adın nereye gideceğini belirler, adın ne olduğunu değil.",
7000
7047
  "error": {
7001
7048
  "empty": "Depo içinde bir dizin belirt.",
7002
7049
  "escapes": "Dizin deponun içinde kalmalı."
@@ -8298,5 +8345,69 @@
8298
8345
  "disconnected": "Servis kataloğu bağlantısı kesildi",
8299
8346
  "disconnectFailed": "Servis kataloğu bağlantısı kesilemedi"
8300
8347
  }
8348
+ },
8349
+ "bugFishing": {
8350
+ "title": "Hata avı seferi",
8351
+ "titleWithBlock": "Hata avı: {title}",
8352
+ "subtitle": "Düzeltilmeye değer bulguları işaretleyin; her biri kendi hata düzeltme görevine dönüşür.",
8353
+ "stillFishing": "Av sürüyor — {total} açının {done} tanesi tamamlandı. Aşağıdakilerin tümü şimdiden ele alınabilir.",
8354
+ "counts": "{untriaged} bulgu bekliyor, {spawned} tanesi düzeltmeye gönderildi",
8355
+ "showTriaged": "Karara bağlananları göster",
8356
+ "phases": {
8357
+ "heading": "Açılar",
8358
+ "all": "Tüm bulgular ({count})",
8359
+ "found": "{count} bulundu",
8360
+ "failedNote": "Bu açı tamamlanamadı: {reason}",
8361
+ "status": {
8362
+ "pending": "Sırada",
8363
+ "fishing": "Taranıyor…",
8364
+ "completed": "Bitti",
8365
+ "failed": "Başarısız"
8366
+ }
8367
+ },
8368
+ "fixPipeline": {
8369
+ "label": "Düzeltmeler şurada çalışır",
8370
+ "boardDefault": "Panonun varsayılanı",
8371
+ "hint": "Bundan sonra işaretleyeceğiniz bulgular {pipeline} üzerinde çalışır."
8372
+ },
8373
+ "empty": {
8374
+ "nothingCaught": "Bu sefer şimdiye kadar hiçbir şey bulmadı.",
8375
+ "allTriaged": "Her bulgu karara bağlandı."
8376
+ },
8377
+ "finding": {
8378
+ "failureScenario": "Nasıl ortaya çıkıyor",
8379
+ "evidence": "Seferin gösterdiği kanıt",
8380
+ "suggestedFix": "Önerilen düzeltme",
8381
+ "fixThis": "Bunu düzelt",
8382
+ "dismiss": "Yoksay",
8383
+ "spawned": "{pipeline} üzerinde bir düzeltme görevi çalışıyor",
8384
+ "spawning": "Düzeltme görevi oluşturuluyor…",
8385
+ "spawnFailed": "Düzeltme görevi oluşturulamadı: {reason} Yeniden denemek için tekrar işaretleyin.",
8386
+ "openTask": "Görevi aç"
8387
+ },
8388
+ "severity": {
8389
+ "critical": "Kritik",
8390
+ "high": "Yüksek",
8391
+ "medium": "Orta",
8392
+ "low": "Düşük"
8393
+ },
8394
+ "kind": {
8395
+ "bug": "Hata",
8396
+ "logic-gap": "Mantık boşluğu",
8397
+ "edge-case": "Sınır durumu",
8398
+ "footgun": "Tuzak",
8399
+ "requirement-gap": "Gereksinim boşluğu",
8400
+ "other": "Diğer"
8401
+ },
8402
+ "confidence": {
8403
+ "high": "Yüksek güven",
8404
+ "medium": "Orta güven",
8405
+ "low": "Düşük güven"
8406
+ },
8407
+ "footer": {
8408
+ "parked": "Tüm açılar tarandı.",
8409
+ "parkedWithUntriaged": "{count} bulgu hâlâ karara bağlanmadı.",
8410
+ "finish": "Triyajı bitir"
8411
+ }
8301
8412
  }
8302
8413
  }
@@ -223,7 +223,8 @@
223
223
  "media": "Медіа",
224
224
  "recurring": "Періодичне",
225
225
  "review": "Огляд",
226
- "ralph": "Цикл Ralph"
226
+ "ralph": "Цикл Ralph",
227
+ "bugFishing": "Полювання на помилки"
227
228
  },
228
229
  "recurringWithFrame": "Періодичне завдання запускає конвеєр із заданою періодичністю. Продовжте, щоб задати розклад і промпт.",
229
230
  "recurringNoFrame": "Періодичне завдання має належати сервісу. Додайте його з рамки сервісу (або модуля всередині неї).",
@@ -338,7 +339,18 @@
338
339
  "prNotFound": "Pull request #{number} не знайдено в репозиторії цього сервісу. Перевірте номер або звʼяжіть сервіс із репозиторієм, у якому міститься цей pull request.",
339
340
  "prRepoMismatch": "Цей pull request у іншому репозиторії. Цей сервіс оглядає {repo}, тож створіть завдання огляду під сервісом, звʼязаним із репозиторієм цього pull request."
340
341
  },
341
- "contextFailed": "Завдання не створено: не вдалося прочитати {count} вкладення | Завдання не створено: не вдалося прочитати {count} вкладення | Завдання не створено: не вдалося прочитати {count} вкладень"
342
+ "contextFailed": "Завдання не створено: не вдалося прочитати {count} вкладення | Завдання не створено: не вдалося прочитати {count} вкладення | Завдання не створено: не вдалося прочитати {count} вкладень",
343
+ "bugFishingFields": {
344
+ "angles": {
345
+ "label": "Кути перегляду",
346
+ "hint": "Кожен кут — це окремий прохід кодовою базою з іншим питанням. Залиште всі поля порожніми, щоб пройти всі.",
347
+ "allSelected": "Буде пройдено всі кути."
348
+ },
349
+ "focus": {
350
+ "label": "На чому зосередитися",
351
+ "placeholder": "Підсистеми, каталоги або тип дефектів, що найбільше коштує цій команді"
352
+ }
353
+ }
342
354
  },
343
355
  "recurring": {
344
356
  "title": "Додати періодичний конвеєр",
@@ -690,7 +702,11 @@
690
702
  "kaizen_entry_not_settled": "Запис Kaizen ще не оцінено",
691
703
  "bootstrap_not_awaiting_review": "Цей bootstrap не чекає на перегляд",
692
704
  "adoption_plan_unavailable": "Немає плану для затвердження",
693
- "monorepo_directory_taken": "Такий каталог уже існує"
705
+ "monorepo_directory_taken": "Такий каталог уже існує",
706
+ "no_expedition": "У цьому запуску немає полювання на помилки",
707
+ "not_awaiting_triage": "Ця експедиція не очікує сортування",
708
+ "already_addressed": "Деякі знахідки вже мають задачу виправлення",
709
+ "no_host_frame": "Ця експедиція не належить жодному сервісу"
694
710
  },
695
711
  "description": {
696
712
  "dependencies_unmet": "Це завдання залежить від інших, які ще не завершені. Заверши або розблокуй їх, а потім запусти його знову.",
@@ -735,7 +751,11 @@
735
751
  "kaizen_entry_not_settled": "Його оцінювання ще в черзі або триває, тож немає рекомендацій для підтвердження. Спробуйте ще раз, коли воно завершиться.",
736
752
  "bootstrap_not_awaiting_review": "Запуск просунувся відтоді, як цей перегляд відкрили. Перезавантажте дошку.",
737
753
  "adoption_plan_unavailable": "Аналіз не зміг його створити, тож немає рішень для надсилання.",
738
- "monorepo_directory_taken": "Bootstrap створює новий сервіс. Оберіть каталог, якого ще немає, або імпортуйте наявний як сервіс."
754
+ "monorepo_directory_taken": "Bootstrap створює новий сервіс. Оберіть каталог, якого ще немає, або імпортуйте наявний як сервіс.",
755
+ "no_expedition": "Запуск, який ви переглядаєте, не містить стану експедиції, тож сортувати нічого. Оновіть запуск і спробуйте ще раз.",
756
+ "not_awaiting_triage": "Він або ще проходить наступний кут, або вже завершений. Оновіть запуск, щоб побачити його стан.",
757
+ "already_addressed": "Задачу виправлення для них створено раніше, тому нічого не створено повторно. Відкрийте знахідку, щоб перейти до наявної задачі.",
758
+ "no_host_frame": "Задачі виправлення потрібен сервіс, у якому вона житиме, і репозиторій для виправлення. Перемістіть задачу експедиції під рамку сервісу і спробуйте ще раз."
739
759
  },
740
760
  "action": {
741
761
  "connectGitHub": "Під'єднати GitHub",
@@ -2344,7 +2364,8 @@
2344
2364
  "budget_paused": "Позначити прочитаним",
2345
2365
  "budget_threshold": "Позначити прочитаним",
2346
2366
  "key_drift": "Видалити застарілі облікові дані",
2347
- "merge_tag_request": "Записати обсяг"
2367
+ "merge_tag_request": "Записати обсяг",
2368
+ "bug_fishing_triage": "Позначити прочитаним"
2348
2369
  },
2349
2370
  "toast": {
2350
2371
  "acted": "Позначено як опрацьоване",
@@ -3778,6 +3799,11 @@
3778
3799
  "ageToggle": "Також приховувати завдання, завершені давно",
3779
3800
  "days": "Зберігати (днів)",
3780
3801
  "hidesOnlyHint": "Нічого не видаляється. Завдання без записаної дати завершення ніколи не приховуються за віком."
3802
+ },
3803
+ "bugFishing": {
3804
+ "heading": "Конвеєр виправлень із полювання на помилки",
3805
+ "body": "Конвеєр, на якому виконується задача виправлення, коли ви позначаєте знахідку з полювання на помилки. Кожна позначена знахідка стає окремою задачею на цьому конвеєрі; той, хто позначає, може змінити вибір для однієї партії.",
3806
+ "builtInDefault": "Використати вбудований пресет виправлення помилок"
3781
3807
  }
3782
3808
  },
3783
3809
  "localModelEndpoints": {
@@ -4486,6 +4512,10 @@
4486
4512
  "selected": "Вибрано",
4487
4513
  "added": "Додано",
4488
4514
  "useThisFolder": "Використати цю папку",
4515
+ "createHere": "Створити тут",
4516
+ "newDirTarget": "Новий каталог:",
4517
+ "nameTaken": "{name} тут уже існує. Оберіть іншу теку або змініть назву вище.",
4518
+ "exists": "Існує",
4489
4519
  "errors": {
4490
4520
  "listDirectory": "Не вдалося отримати список каталогу"
4491
4521
  },
@@ -6922,7 +6952,8 @@
6922
6952
  "title": "Нещодавні запуски",
6923
6953
  "fromArch": "з {name}",
6924
6954
  "fromScratch": "з нуля",
6925
- "open": "Відкрити"
6955
+ "open": "Відкрити",
6956
+ "openPr": "Pull request"
6926
6957
  },
6927
6958
  "status": {
6928
6959
  "pending": "очікує",
@@ -6974,11 +7005,24 @@
6974
7005
  "label": "Куди піде сервіс",
6975
7006
  "newRepo": {
6976
7007
  "label": "Новий репозиторій",
6977
- "description": "Створити окремий репозиторій і надіслати сервіс як його перший коміт."
7008
+ "description": "Створити окремий репозиторій і записати сервіс у нього."
6978
7009
  },
6979
7010
  "monorepo": {
6980
7011
  "label": "Каталог у наявному монорепозиторії",
6981
- "description": "Додати сервіс до репозиторію, який у вас уже є, і відкрити pull request."
7012
+ "description": "Додати сервіс до репозиторію, який ви вже маєте."
7013
+ }
7014
+ },
7015
+ "delivery": {
7016
+ "label": "Як потрапляє робота",
7017
+ "pullRequest": {
7018
+ "label": "Відкрити pull request",
7019
+ "descNewRepo": "Надіслати гілку й відкрити pull request щодо першого коміту репозиторію, щоб хтось переглянув каркас, перш ніж він стане типовою гілкою. Репозиторій уже має містити коміт.",
7020
+ "descMonorepo": "Надіслати гілку й відкрити pull request. Нічого не зливається за вас."
7021
+ },
7022
+ "directPush": {
7023
+ "label": "Надіслати напряму",
7024
+ "descNewRepo": "Записати сервіс одразу в типову гілку як перший коміт репозиторію.",
7025
+ "descMonorepo": "Комітити в типову гілку, поки агент працює. Невдалий запуск лишає те, що вже було записано."
6982
7026
  }
6983
7027
  },
6984
7028
  "serviceName": {
@@ -6986,7 +7030,7 @@
6986
7030
  "description": "Називає сервіс на дошці та підказує його каталог."
6987
7031
  },
6988
7032
  "monorepo": {
6989
- "intro": "Сервіс записується в каталог наявного репозиторію та постачається як pull request. Нічого не зливається за вас і нічого поза новим каталогом не змінюється.",
7033
+ "intro": "Сервіс записується в каталог наявного репозиторію, і поза цим каталогом нічого не змінюється.",
6990
7034
  "repo": {
6991
7035
  "label": "Монорепозиторій",
6992
7036
  "description": "Репозиторій, у якому житиме новий сервіс. Він має бути вже пов’язаний із цим робочим простором.",
@@ -6995,8 +7039,11 @@
6995
7039
  },
6996
7040
  "directory": {
6997
7041
  "label": "Каталог сервісу",
6998
- "description": "Де живе сервіс, відносно кореня репозиторію. Він ще не має існувати.",
7042
+ "description": "Де живе сервіс, відносно кореня репозиторію. Запуск створює його, тому він ще не має існувати.",
6999
7043
  "placeholder": "services/payments",
7044
+ "browse": "Огляд репозиторію",
7045
+ "browseHint": "Відкрийте теку, у якій має бути сервіс. Назву, вказану вище, буде створено в ній, тож у дереві нічого обирати не потрібно.",
7046
+ "browseNeedsName": "Спершу вкажіть каталог вище (або назву сервісу нижче). Огляд визначає, куди піде ця назва, а не як вона звучить.",
7000
7047
  "error": {
7001
7048
  "empty": "Вкажіть каталог усередині репозиторію.",
7002
7049
  "escapes": "Каталог має залишатися всередині репозиторію."
@@ -8298,5 +8345,69 @@
8298
8345
  "disconnected": "Каталог сервісів відʼєднано",
8299
8346
  "disconnectFailed": "Не вдалося відʼєднати каталог сервісів"
8300
8347
  }
8348
+ },
8349
+ "bugFishing": {
8350
+ "title": "Експедиція з полювання на помилки",
8351
+ "titleWithBlock": "Полювання на помилки: {title}",
8352
+ "subtitle": "Позначте знахідки, які варто виправити, — кожна стане окремою задачею виправлення.",
8353
+ "stillFishing": "Полювання триває — надійшло {done} із {total} кутів. Усе нижче вже можна опрацьовувати.",
8354
+ "counts": "{untriaged} на розгляд, {spawned} відправлено на виправлення",
8355
+ "showTriaged": "Показати вирішені",
8356
+ "phases": {
8357
+ "heading": "Кути",
8358
+ "all": "Усі знахідки ({count})",
8359
+ "found": "знайдено {count}",
8360
+ "failedNote": "Цей кут не завершився: {reason}",
8361
+ "status": {
8362
+ "pending": "У черзі",
8363
+ "fishing": "Триває…",
8364
+ "completed": "Готово",
8365
+ "failed": "Помилка"
8366
+ }
8367
+ },
8368
+ "fixPipeline": {
8369
+ "label": "Виправлення виконуються на",
8370
+ "boardDefault": "Типовий конвеєр дошки",
8371
+ "hint": "Знахідки, позначені відтепер, виконуватимуться на {pipeline}."
8372
+ },
8373
+ "empty": {
8374
+ "nothingCaught": "Ця експедиція поки нічого не знайшла.",
8375
+ "allTriaged": "Щодо кожної знахідки ухвалено рішення."
8376
+ },
8377
+ "finding": {
8378
+ "failureScenario": "Як воно спрацьовує",
8379
+ "evidence": "Докази, наведені експедицією",
8380
+ "suggestedFix": "Запропоноване виправлення",
8381
+ "fixThis": "Виправити це",
8382
+ "dismiss": "Відхилити",
8383
+ "spawned": "Задача виправлення виконується на {pipeline}",
8384
+ "spawning": "Створюємо задачу виправлення…",
8385
+ "spawnFailed": "Не вдалося створити задачу виправлення: {reason} Позначте знову, щоб повторити спробу.",
8386
+ "openTask": "Відкрити задачу"
8387
+ },
8388
+ "severity": {
8389
+ "critical": "Критична",
8390
+ "high": "Висока",
8391
+ "medium": "Середня",
8392
+ "low": "Низька"
8393
+ },
8394
+ "kind": {
8395
+ "bug": "Помилка",
8396
+ "logic-gap": "Прогалина в логіці",
8397
+ "edge-case": "Межовий випадок",
8398
+ "footgun": "Пастка",
8399
+ "requirement-gap": "Прогалина у вимогах",
8400
+ "other": "Інше"
8401
+ },
8402
+ "confidence": {
8403
+ "high": "Висока впевненість",
8404
+ "medium": "Середня впевненість",
8405
+ "low": "Низька впевненість"
8406
+ },
8407
+ "footer": {
8408
+ "parked": "Пройдено всі кути.",
8409
+ "parkedWithUntriaged": "Залишилося {count} нерозглянутих знахідок.",
8410
+ "finish": "Завершити сортування"
8411
+ }
8301
8412
  }
8302
8413
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cat-factory/app",
3
- "version": "0.293.1",
3
+ "version": "0.295.0",
4
4
  "description": "Reusable Nuxt layer for the Agent Architecture Board SPA (components, stores, composables, pages). Consume it from a thin deployment app via `extends: ['@cat-factory/app']` and point it at your backend with NUXT_PUBLIC_API_BASE. See deploy/frontend for an example.",
5
5
  "repository": {
6
6
  "type": "git",
@@ -18,7 +18,7 @@
18
18
  "access": "public"
19
19
  },
20
20
  "dependencies": {
21
- "@cat-factory/contracts": "0.343.0",
21
+ "@cat-factory/contracts": "0.345.0",
22
22
  "@modular-frontend/core": "0.6.0",
23
23
  "@modular-vue/core": "^1.5.0",
24
24
  "@modular-vue/journeys": "^1.4.0",