@cat-factory/app 0.162.2 → 0.164.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 (34) hide show
  1. package/README.md +4 -1
  2. package/app/components/board/RecurringPipelineModal.vue +9 -22
  3. package/app/components/focus/BlockFocusView.vue +25 -19
  4. package/app/components/layout/CommandBar.vue +8 -0
  5. package/app/components/layout/IntegrationsHub.vue +7 -0
  6. package/app/components/panels/InspectorPanel.vue +13 -0
  7. package/app/components/pipeline/PipelinePicker.vue +38 -16
  8. package/app/components/pipeline/PipelinePreview.vue +65 -23
  9. package/app/components/tasks/BugHuntModal.vue +361 -0
  10. package/app/components/tasks/ContextIssuePicker.logic.spec.ts +89 -0
  11. package/app/components/tasks/ContextIssuePicker.logic.ts +74 -0
  12. package/app/components/tasks/ContextIssuePicker.vue +71 -21
  13. package/app/components/tasks/TaskImportModal.vue +2 -4
  14. package/app/composables/api/bugHunt.ts +40 -0
  15. package/app/composables/useApi.ts +2 -0
  16. package/app/pages/index.vue +2 -0
  17. package/app/stores/bugHunt.spec.ts +103 -0
  18. package/app/stores/bugHunt.ts +148 -0
  19. package/app/stores/ui/modals.ts +14 -0
  20. package/app/types/bugHunt.ts +21 -0
  21. package/app/types/domain.ts +1 -0
  22. package/app/utils/pipeline.spec.ts +41 -1
  23. package/app/utils/pipeline.ts +9 -0
  24. package/i18n/locales/de.json +61 -5
  25. package/i18n/locales/en.json +64 -5
  26. package/i18n/locales/es.json +61 -5
  27. package/i18n/locales/fr.json +61 -5
  28. package/i18n/locales/he.json +61 -5
  29. package/i18n/locales/it.json +61 -5
  30. package/i18n/locales/ja.json +61 -5
  31. package/i18n/locales/pl.json +61 -5
  32. package/i18n/locales/tr.json +61 -5
  33. package/i18n/locales/uk.json +61 -5
  34. package/package.json +2 -2
@@ -1335,7 +1335,8 @@
1335
1335
  "title": "このサービスをアーカイブしますか?",
1336
1336
  "body": "「{name}」とそのタスクはボードから非表示になります。いつでも復元できます。"
1337
1337
  },
1338
- "runBlocked": "未完了の依存関係によってブロックされています: {names} | {count} 件の未完了の依存関係によってブロックされています: {names}"
1338
+ "runBlocked": "未完了の依存関係によってブロックされています: {names} | {count} 件の未完了の依存関係によってブロックされています: {names}",
1339
+ "huntBugs": "バグをハント"
1339
1340
  }
1340
1341
  },
1341
1342
  "observability": {
@@ -1937,7 +1938,8 @@
1937
1938
  "accountSettings": "アカウント設定",
1938
1939
  "localModels": "マイローカルランナー",
1939
1940
  "sandbox": "Sandbox を開く",
1940
- "shortcuts": "キーボードショートカット"
1941
+ "shortcuts": "キーボードショートカット",
1942
+ "bugHunt": "バグハント"
1941
1943
  },
1942
1944
  "keywords": {
1943
1945
  "newPipeline": "pipeline agents chain パイプライン エージェント チェーン",
@@ -1957,7 +1959,8 @@
1957
1959
  "accountSettings": "account team members roles invitations email api keys fragment best practice library context organization personal アカウント チーム メンバー ロール 招待 メール APIキー フラグメント ベストプラクティス ライブラリ コンテキスト 組織 個人",
1958
1960
  "localModels": "local model runner ollama lm studio llamacpp vllm endpoint ローカル モデル ランナー Ollama LM Studio llamacpp vLLM エンドポイント",
1959
1961
  "sandbox": "sandbox prompt model test experiment judge fixture benchmark evaluate サンドボックス プロンプト モデル テスト 実験 ジャッジ フィクスチャ ベンチマーク 評価",
1960
- "shortcuts": "キーボード ショートカット キー ヘルプ"
1962
+ "shortcuts": "キーボード ショートカット キー ヘルプ",
1963
+ "bugHunt": "bug バグ ハント トリアージ バックログ 課題 未割り当て"
1961
1964
  }
1962
1965
  },
1963
1966
  "integrationsHub": {
@@ -2043,6 +2046,10 @@
2043
2046
  },
2044
2047
  "documentTemplates": {
2045
2048
  "label": "テンプレートと例"
2049
+ },
2050
+ "bugHunt": {
2051
+ "label": "バグハント",
2052
+ "description": "ボードの未割り当ての未解決バグを評価し、修正するものをひとつ選びます"
2046
2053
  }
2047
2054
  }
2048
2055
  },
@@ -3544,7 +3551,11 @@
3544
3551
  "attachByReference": "{ref} を参照で添付",
3545
3552
  "noMatches": "一致する課題がありません。",
3546
3553
  "emptySearchable": "タイトルで検索するか、インポート済みの課題を選択してください。",
3547
- "emptyRefOnly": "課題の URL またはキーを貼り付けて添付します。"
3554
+ "emptyRefOnly": "課題の URL またはキーを貼り付けて添付します。",
3555
+ "sourceLabel": "ソース",
3556
+ "noSource": "ソースを選択",
3557
+ "connectSource": "{label} を接続",
3558
+ "enableSource": "{label} を有効化"
3548
3559
  },
3549
3560
  "contextIssues": {
3550
3561
  "title": "コンテキスト課題",
@@ -3606,6 +3617,49 @@
3606
3617
  "oauthOr": "または API キーで接続"
3607
3618
  }
3608
3619
  },
3620
+ "bugHunt": {
3621
+ "title": "バグハント",
3622
+ "intro": "トラッカーのボードから未割り当ての未解決バグを探し、影響度と修正の難しさの比で並べ替えます。ひとつ選ぶと、バグ修正パイプラインを実行するタスクになります。",
3623
+ "connectFirst": "先にタスクソースを接続または有効化してください。",
3624
+ "connectSource": "{label} を接続",
3625
+ "needFrameFirst": "選んだバグの受け入れ先が必要なので、先にサービスフレームをボードに追加してください。",
3626
+ "tracker": "トラッカー",
3627
+ "board": "ボード",
3628
+ "pickBoard": "ボードを選択",
3629
+ "boardPlaceholder": "プロジェクトキー、チーム ID または owner/repo",
3630
+ "boardsFailed": "ボードを読み込めませんでした: {reason}",
3631
+ "issueType": "課題タイプ",
3632
+ "issueTypeHelp": "既定は bug です。課題タイプを持たないトラッカーでは無視されます。",
3633
+ "labels": "ラベル",
3634
+ "labelsHelp": "カンマ区切り。すべて付いている必要があります。",
3635
+ "adoptInto": "選んだバグの追加先",
3636
+ "run": "ハント",
3637
+ "running": "ボードを読み取り、見つかったものを評価しています…",
3638
+ "huntFailed": "ハントに失敗しました",
3639
+ "notAssessed": "未評価",
3640
+ "recommended": "おすすめ",
3641
+ "adopt": "これを選ぶ",
3642
+ "adopted": "{id} を引き受けました",
3643
+ "adoptedRunning": "バグ修正パイプラインが実行中です。",
3644
+ "adoptFailed": "このバグを引き受けられませんでした",
3645
+ "noCandidates": "このボードには条件に合う未割り当ての未解決バグがありません。",
3646
+ "ratings": "影響度 {impact}/5、複雑さ {complexity}/5、確信度 {confidence}",
3647
+ "viaModel": "{model} による評価です。",
3648
+ "truncated": "一致したバグのうち最初の {count} 件のみを走査しました。このボードにはさらにあります。",
3649
+ "comments": "コメント {count} 件 | コメント {count} 件",
3650
+ "confidence": {
3651
+ "high": "高",
3652
+ "medium": "中",
3653
+ "low": "低"
3654
+ },
3655
+ "status": {
3656
+ "ranked": "影響度と修正の難しさの比で並べ替えました。",
3657
+ "unavailable": "評価モデルが設定されていないため、未評価のまま表示しています。",
3658
+ "failed": "評価を完了できなかったため、未評価のまま表示しています。",
3659
+ "over_budget": "このワークスペースは利用予算を超えているため、評価は行われませんでした。",
3660
+ "empty": "評価する対象がありません。"
3661
+ }
3662
+ },
3609
3663
  "pipeline": {
3610
3664
  "iterationCap": {
3611
3665
  "extraRound": "もう1ラウンド",
@@ -3614,10 +3668,12 @@
3614
3668
  },
3615
3669
  "preview": {
3616
3670
  "stepCount": "{count}ステップ | {count}ステップ",
3671
+ "gateCount": "{count}件の承認 | {count}件の承認",
3617
3672
  "gated": "このステップの後に人による承認"
3618
3673
  },
3619
3674
  "picker": {
3620
- "noneHint": "デフォルトのパイプラインはありません。タスクの実行時に選択します。"
3675
+ "noneHint": "デフォルトのパイプラインはありません。タスクの実行時に選択します。",
3676
+ "hoverHint": "パイプラインにカーソルを合わせると、実行されるステップが表示されます。"
3621
3677
  },
3622
3678
  "builder": {
3623
3679
  "title": "パイプラインビルダー",
@@ -1335,7 +1335,8 @@
1335
1335
  "title": "Zarchiwizować tę usługę?",
1336
1336
  "body": "„{name}” i jej zadania zostaną ukryte z tablicy. Możesz przywrócić usługę w dowolnej chwili."
1337
1337
  },
1338
- "runBlocked": "Zablokowane przez niedokończoną zależność: {names} | Zablokowane przez {count} niedokończone zależności: {names} | Zablokowane przez {count} niedokończonych zależności: {names}"
1338
+ "runBlocked": "Zablokowane przez niedokończoną zależność: {names} | Zablokowane przez {count} niedokończone zależności: {names} | Zablokowane przez {count} niedokończonych zależności: {names}",
1339
+ "huntBugs": "Poluj na błędy"
1339
1340
  }
1340
1341
  },
1341
1342
  "observability": {
@@ -1937,7 +1938,8 @@
1937
1938
  "accountSettings": "Ustawienia konta",
1938
1939
  "localModels": "Moje lokalne silniki",
1939
1940
  "sandbox": "Otwórz piaskownicę",
1940
- "shortcuts": "Skróty klawiszowe"
1941
+ "shortcuts": "Skróty klawiszowe",
1942
+ "bugHunt": "Polowanie na błędy"
1941
1943
  },
1942
1944
  "keywords": {
1943
1945
  "newPipeline": "potok agenci łańcuch pipeline",
@@ -1957,7 +1959,8 @@
1957
1959
  "accountSettings": "konto zespół członkowie role zaproszenia e-mail klucze api fragment dobre praktyki biblioteka kontekst organizacja osobiste",
1958
1960
  "localModels": "model lokalny silnik ollama lm studio llamacpp vllm endpoint",
1959
1961
  "sandbox": "piaskownica prompt model test eksperyment sędzia fixture benchmark ocena",
1960
- "shortcuts": "skróty klawiatura klawisze pomoc"
1962
+ "shortcuts": "skróty klawiatura klawisze pomoc",
1963
+ "bugHunt": "błąd bug polowanie triage zaległości zgłoszenia nieprzypisane"
1961
1964
  }
1962
1965
  },
1963
1966
  "integrationsHub": {
@@ -2043,6 +2046,10 @@
2043
2046
  },
2044
2047
  "documentTemplates": {
2045
2048
  "label": "Szablony i przykłady"
2049
+ },
2050
+ "bugHunt": {
2051
+ "label": "Polowanie na błędy",
2052
+ "description": "Oceń otwarte, nieprzypisane błędy z tablicy i wybierz jeden do naprawy"
2046
2053
  }
2047
2054
  }
2048
2055
  },
@@ -3532,7 +3539,11 @@
3532
3539
  "attachByReference": "Dołącz {ref} przez odniesienie",
3533
3540
  "noMatches": "Brak pasujących zgłoszeń.",
3534
3541
  "emptySearchable": "Szukaj według tytułu lub wybierz zaimportowane zgłoszenie.",
3535
- "emptyRefOnly": "Wklej adres URL lub klucz zgłoszenia, aby je dołączyć."
3542
+ "emptyRefOnly": "Wklej adres URL lub klucz zgłoszenia, aby je dołączyć.",
3543
+ "sourceLabel": "Źródło",
3544
+ "noSource": "Wybierz źródło",
3545
+ "connectSource": "Połącz {label}",
3546
+ "enableSource": "Włącz {label}"
3536
3547
  },
3537
3548
  "contextIssues": {
3538
3549
  "title": "Zgłoszenia kontekstowe",
@@ -3594,6 +3605,49 @@
3594
3605
  "oauthOr": "lub połącz za pomocą klucza API"
3595
3606
  }
3596
3607
  },
3608
+ "bugHunt": {
3609
+ "title": "Polowanie na błędy",
3610
+ "intro": "Przeszukaj tablicę systemu zgłoszeń w poszukiwaniu otwartych, nieprzypisanych błędów i uszereguj je według wpływu w stosunku do przewidywanej trudności naprawy. Wybierz jeden, a stanie się zadaniem uruchamiającym potok naprawy błędów.",
3611
+ "connectFirst": "Najpierw połącz lub włącz źródło zadań.",
3612
+ "connectSource": "Połącz {label}",
3613
+ "needFrameFirst": "Najpierw dodaj ramkę usługi do tablicy, aby wybrany błąd miał gdzie wylądować.",
3614
+ "tracker": "System zgłoszeń",
3615
+ "board": "Tablica",
3616
+ "pickBoard": "Wybierz tablicę",
3617
+ "boardPlaceholder": "Klucz projektu, identyfikator zespołu lub owner/repo",
3618
+ "boardsFailed": "Nie udało się wczytać tablic: {reason}",
3619
+ "issueType": "Typ zgłoszenia",
3620
+ "issueTypeHelp": "Domyślnie bug. Ignorowane przez systemy bez typów zgłoszeń.",
3621
+ "labels": "Etykiety",
3622
+ "labelsHelp": "Oddzielone przecinkami. Wszystkie muszą występować.",
3623
+ "adoptInto": "Dodaj wybrany błąd do",
3624
+ "run": "Poluj",
3625
+ "running": "Odczytywanie tablicy i ocenianie znalezionych zgłoszeń…",
3626
+ "huntFailed": "Polowanie nie powiodło się",
3627
+ "notAssessed": "Nieoceniony",
3628
+ "recommended": "Zalecany",
3629
+ "adopt": "Wybierz ten",
3630
+ "adopted": "Przejęto {id}",
3631
+ "adoptedRunning": "Potok naprawy błędów już na nim działa.",
3632
+ "adoptFailed": "Nie udało się przejąć tego błędu",
3633
+ "noCandidates": "Na tej tablicy nie ma pasujących otwartych, nieprzypisanych błędów.",
3634
+ "ratings": "Wpływ {impact}/5, złożoność {complexity}/5, pewność {confidence}",
3635
+ "viaModel": "Ocenione przez {model}.",
3636
+ "truncated": "Przeszukano tylko pierwsze pasujące zgłoszenia w liczbie {count}; ta tablica zawiera ich więcej.",
3637
+ "comments": "{count} komentarz | {count} komentarze | {count} komentarzy",
3638
+ "confidence": {
3639
+ "high": "wysoka",
3640
+ "medium": "średnia",
3641
+ "low": "niska"
3642
+ },
3643
+ "status": {
3644
+ "ranked": "Uszeregowane według wpływu w stosunku do przewidywanej trudności naprawy.",
3645
+ "unavailable": "Nie skonfigurowano modelu oceniającego, więc te zgłoszenia są nieocenione.",
3646
+ "failed": "Nie udało się dokończyć oceny, więc te zgłoszenia są nieocenione.",
3647
+ "over_budget": "Ta przestrzeń robocza przekroczyła budżet wydatków, więc nie zostały ocenione.",
3648
+ "empty": "Nie ma czego oceniać."
3649
+ }
3650
+ },
3597
3651
  "pipeline": {
3598
3652
  "iterationCap": {
3599
3653
  "extraRound": "Jeszcze jedna runda",
@@ -3602,10 +3656,12 @@
3602
3656
  },
3603
3657
  "preview": {
3604
3658
  "stepCount": "{count} krok | {count} kroki | {count} kroków",
3659
+ "gateCount": "{count} zatwierdzenie | {count} zatwierdzenia | {count} zatwierdzeń",
3605
3660
  "gated": "Ręczne zatwierdzenie po tym kroku"
3606
3661
  },
3607
3662
  "picker": {
3608
- "noneHint": "Brak domyślnego pipeline'u. Wybierzesz go podczas uruchamiania zadania."
3663
+ "noneHint": "Brak domyślnego pipeline'u. Wybierzesz go podczas uruchamiania zadania.",
3664
+ "hoverHint": "Najedź na pipeline, aby zobaczyć kroki, które wykonuje."
3609
3665
  },
3610
3666
  "builder": {
3611
3667
  "title": "Kreator pipeline'ów",
@@ -1335,7 +1335,8 @@
1335
1335
  "title": "Bu hizmet arşivlensin mi?",
1336
1336
  "body": "\"{name}\" ve görevleri panodan gizlenecek. İstediğin zaman geri yükleyebilirsin."
1337
1337
  },
1338
- "runBlocked": "Tamamlanmamış bir bağımlılık tarafından engellendi: {names} | Tamamlanmamış {count} bağımlılık tarafından engellendi: {names}"
1338
+ "runBlocked": "Tamamlanmamış bir bağımlılık tarafından engellendi: {names} | Tamamlanmamış {count} bağımlılık tarafından engellendi: {names}",
1339
+ "huntBugs": "Hata avla"
1339
1340
  }
1340
1341
  },
1341
1342
  "observability": {
@@ -1937,7 +1938,8 @@
1937
1938
  "accountSettings": "Hesap ayarları",
1938
1939
  "localModels": "Yerel çalıştırıcılarım",
1939
1940
  "sandbox": "Sandbox'ı aç",
1940
- "shortcuts": "Klavye kısayolları"
1941
+ "shortcuts": "Klavye kısayolları",
1942
+ "bugHunt": "Hata avı"
1941
1943
  },
1942
1944
  "keywords": {
1943
1945
  "newPipeline": "boru hattı ajanlar zincir",
@@ -1957,7 +1959,8 @@
1957
1959
  "accountSettings": "hesap ekip üyeler roller davetler e-posta api anahtarlar parça en iyi uygulama kitaplık bağlam organizasyon kişisel",
1958
1960
  "localModels": "yerel model çalıştırıcı ollama lm studio llamacpp vllm uç nokta",
1959
1961
  "sandbox": "sandbox prompt model test deney yargıç fikstür benchmark değerlendir",
1960
- "shortcuts": "kısayollar klavye tuşlar yardım"
1962
+ "shortcuts": "kısayollar klavye tuşlar yardım",
1963
+ "bugHunt": "hata bug av önceliklendirme birikmiş kayıt atanmamış"
1961
1964
  }
1962
1965
  },
1963
1966
  "integrationsHub": {
@@ -2043,6 +2046,10 @@
2043
2046
  },
2044
2047
  "documentTemplates": {
2045
2048
  "label": "Şablonlar ve örnekler"
2049
+ },
2050
+ "bugHunt": {
2051
+ "label": "Hata avı",
2052
+ "description": "Bir panodaki açık ve atanmamış hataları değerlendirin ve düzeltmek için birini seçin"
2046
2053
  }
2047
2054
  }
2048
2055
  },
@@ -3544,7 +3551,11 @@
3544
3551
  "attachByReference": "{ref} öğesini referansla ekle",
3545
3552
  "noMatches": "Eşleşen sorun yok.",
3546
3553
  "emptySearchable": "Başlığa göre ara veya içe aktarılmış bir sorun seç.",
3547
- "emptyRefOnly": "Eklemek için bir sorun URL'si veya anahtarı yapıştır."
3554
+ "emptyRefOnly": "Eklemek için bir sorun URL'si veya anahtarı yapıştır.",
3555
+ "sourceLabel": "Kaynak",
3556
+ "noSource": "Bir kaynak seç",
3557
+ "connectSource": "{label} bağla",
3558
+ "enableSource": "{label} etkinleştir"
3548
3559
  },
3549
3560
  "contextIssues": {
3550
3561
  "title": "Bağlam sorunları",
@@ -3606,6 +3617,49 @@
3606
3617
  "oauthOr": "veya bir API anahtarıyla bağlan"
3607
3618
  }
3608
3619
  },
3620
+ "bugHunt": {
3621
+ "title": "Hata avı",
3622
+ "intro": "Bir takip panosunu açık ve kimseye atanmamış hatalar için tarayın ve bunları etkilerine karşı düzeltmenin ne kadar zor göründüğüne göre sıralayın. Birini seçin, hata düzeltme hattını çalıştıran bir göreve dönüşsün.",
3623
+ "connectFirst": "Önce bir görev kaynağı bağlayın veya etkinleştirin.",
3624
+ "connectSource": "{label} bağla",
3625
+ "needFrameFirst": "Seçilen hatanın ineceği bir yer olması için önce panoya bir servis çerçevesi ekleyin.",
3626
+ "tracker": "Takip aracı",
3627
+ "board": "Pano",
3628
+ "pickBoard": "Bir pano seçin",
3629
+ "boardPlaceholder": "Proje anahtarı, takım kimliği veya owner/repo",
3630
+ "boardsFailed": "Panolar yüklenemedi: {reason}",
3631
+ "issueType": "Kayıt türü",
3632
+ "issueTypeHelp": "Varsayılan olarak bug. Kayıt türü olmayan araçlarda yok sayılır.",
3633
+ "labels": "Etiketler",
3634
+ "labelsHelp": "Virgülle ayrılır. Hepsinin bulunması gerekir.",
3635
+ "adoptInto": "Seçilen hatayı şuraya ekle",
3636
+ "run": "Avla",
3637
+ "running": "Pano okunuyor ve bulunanlar değerlendiriliyor…",
3638
+ "huntFailed": "Av başarısız oldu",
3639
+ "notAssessed": "Değerlendirilmedi",
3640
+ "recommended": "Önerilen",
3641
+ "adopt": "Bunu seç",
3642
+ "adopted": "{id} devralındı",
3643
+ "adoptedRunning": "Hata düzeltme hattı onun üzerinde çalışıyor.",
3644
+ "adoptFailed": "Bu hata devralınamadı",
3645
+ "noCandidates": "Bu panoda eşleşen açık ve atanmamış hata yok.",
3646
+ "ratings": "Etki {impact}/5, karmaşıklık {complexity}/5, güven {confidence}",
3647
+ "viaModel": "{model} tarafından değerlendirildi.",
3648
+ "truncated": "Yalnızca eşleşen ilk {count} hata tarandı; bu panoda daha fazlası var.",
3649
+ "comments": "{count} yorum | {count} yorum",
3650
+ "confidence": {
3651
+ "high": "yüksek",
3652
+ "medium": "orta",
3653
+ "low": "düşük"
3654
+ },
3655
+ "status": {
3656
+ "ranked": "Etkiye karşı düzeltmenin ne kadar zor göründüğüne göre sıralandı.",
3657
+ "unavailable": "Yapılandırılmış bir değerlendirme modeli yok, bu yüzden bunlar değerlendirilmedi.",
3658
+ "failed": "Değerlendirme tamamlanamadı, bu yüzden bunlar değerlendirilmedi.",
3659
+ "over_budget": "Bu çalışma alanı harcama bütçesini aştığı için bunlar değerlendirilmedi.",
3660
+ "empty": "Değerlendirilecek bir şey yok."
3661
+ }
3662
+ },
3609
3663
  "pipeline": {
3610
3664
  "iterationCap": {
3611
3665
  "extraRound": "Bir tur daha",
@@ -3614,10 +3668,12 @@
3614
3668
  },
3615
3669
  "preview": {
3616
3670
  "stepCount": "{count} adım | {count} adım",
3671
+ "gateCount": "{count} onay | {count} onay",
3617
3672
  "gated": "Bu adımdan sonra insan onayı"
3618
3673
  },
3619
3674
  "picker": {
3620
- "noneHint": "Varsayılan pipeline yok. Görevi çalıştırırken birini seçersin."
3675
+ "noneHint": "Varsayılan pipeline yok. Görevi çalıştırırken birini seçersin.",
3676
+ "hoverHint": "Çalıştırdığı adımları görmek için bir pipeline'ın üzerine gelin."
3621
3677
  },
3622
3678
  "builder": {
3623
3679
  "title": "Pipeline oluşturucu",
@@ -1335,7 +1335,8 @@
1335
1335
  "title": "Заархівувати цей сервіс?",
1336
1336
  "body": "«{name}» та його завдання буде приховано з дошки. Ви можете відновити його будь-коли."
1337
1337
  },
1338
- "runBlocked": "Заблоковано незавершеною залежністю: {names} | Заблоковано {count} незавершеними залежностями: {names} | Заблоковано {count} незавершеними залежностями: {names}"
1338
+ "runBlocked": "Заблоковано незавершеною залежністю: {names} | Заблоковано {count} незавершеними залежностями: {names} | Заблоковано {count} незавершеними залежностями: {names}",
1339
+ "huntBugs": "Полювати на помилки"
1339
1340
  }
1340
1341
  },
1341
1342
  "observability": {
@@ -1937,7 +1938,8 @@
1937
1938
  "accountSettings": "Налаштування облікового запису",
1938
1939
  "localModels": "Мої локальні виконавці",
1939
1940
  "sandbox": "Відкрити пісочницю",
1940
- "shortcuts": "Комбінації клавіш"
1941
+ "shortcuts": "Комбінації клавіш",
1942
+ "bugHunt": "Полювання на помилки"
1941
1943
  },
1942
1944
  "keywords": {
1943
1945
  "newPipeline": "конвеєр агенти ланцюг pipeline",
@@ -1957,7 +1959,8 @@
1957
1959
  "accountSettings": "обліковий запис команда учасники ролі запрошення електронна пошта ключі api фрагмент найкращі практики бібліотека контекст організація особисте",
1958
1960
  "localModels": "модель локальна виконавець ollama lm studio llamacpp vllm endpoint",
1959
1961
  "sandbox": "пісочниця prompt модель тест експеримент суддя fixture benchmark оцінка",
1960
- "shortcuts": "комбінації клавіатура клавіші довідка"
1962
+ "shortcuts": "комбінації клавіатура клавіші довідка",
1963
+ "bugHunt": "помилка баг полювання сортування беклог запити не призначені"
1961
1964
  }
1962
1965
  },
1963
1966
  "integrationsHub": {
@@ -2043,6 +2046,10 @@
2043
2046
  },
2044
2047
  "documentTemplates": {
2045
2048
  "label": "Шаблони та приклади"
2049
+ },
2050
+ "bugHunt": {
2051
+ "label": "Полювання на помилки",
2052
+ "description": "Оцініть відкриті та не призначені помилки дошки й оберіть одну для виправлення"
2046
2053
  }
2047
2054
  }
2048
2055
  },
@@ -3532,7 +3539,11 @@
3532
3539
  "attachByReference": "Прикріпити {ref} за посиланням",
3533
3540
  "noMatches": "Немає відповідних завдань.",
3534
3541
  "emptySearchable": "Шукайте за назвою або виберіть імпортоване завдання.",
3535
- "emptyRefOnly": "Вставте URL або ключ завдання, щоб прикріпити його."
3542
+ "emptyRefOnly": "Вставте URL або ключ завдання, щоб прикріпити його.",
3543
+ "sourceLabel": "Джерело",
3544
+ "noSource": "Виберіть джерело",
3545
+ "connectSource": "Підключити {label}",
3546
+ "enableSource": "Увімкнути {label}"
3536
3547
  },
3537
3548
  "contextIssues": {
3538
3549
  "title": "Контекстні завдання",
@@ -3594,6 +3605,49 @@
3594
3605
  "oauthOr": "або підключіться за допомогою ключа API"
3595
3606
  }
3596
3607
  },
3608
+ "bugHunt": {
3609
+ "title": "Полювання на помилки",
3610
+ "intro": "Перегляньте дошку трекера у пошуках відкритих і не призначених нікому помилок та впорядкуйте їх за впливом щодо того, наскільки складним видається виправлення. Оберіть одну, і вона стане завданням, що виконує конвеєр виправлення помилок.",
3611
+ "connectFirst": "Спершу під’єднайте або увімкніть джерело завдань.",
3612
+ "connectSource": "Під'єднати {label}",
3613
+ "needFrameFirst": "Спершу додайте рамку сервісу на дошку, щоб обрана помилка мала куди потрапити.",
3614
+ "tracker": "Трекер",
3615
+ "board": "Дошка",
3616
+ "pickBoard": "Оберіть дошку",
3617
+ "boardPlaceholder": "Ключ проєкту, ідентифікатор команди або owner/repo",
3618
+ "boardsFailed": "Не вдалося завантажити дошки: {reason}",
3619
+ "issueType": "Тип запиту",
3620
+ "issueTypeHelp": "Типово bug. Ігнорується трекерами без типів запитів.",
3621
+ "labels": "Мітки",
3622
+ "labelsHelp": "Через кому. Усі мають бути присутні.",
3623
+ "adoptInto": "Додати обрану помилку до",
3624
+ "run": "Полювати",
3625
+ "running": "Читаємо дошку та оцінюємо знайдене…",
3626
+ "huntFailed": "Полювання не вдалося",
3627
+ "notAssessed": "Не оцінено",
3628
+ "recommended": "Рекомендовано",
3629
+ "adopt": "Обрати цю",
3630
+ "adopted": "Взято {id}",
3631
+ "adoptedRunning": "Конвеєр виправлення помилок уже виконується для неї.",
3632
+ "adoptFailed": "Не вдалося взяти цю помилку",
3633
+ "noCandidates": "На цій дошці немає відкритих і не призначених помилок, що відповідають умовам.",
3634
+ "ratings": "Вплив {impact}/5, складність {complexity}/5, впевненість {confidence}",
3635
+ "viaModel": "Оцінено моделлю {model}.",
3636
+ "truncated": "Переглянуто лише перші відповідні помилки в кількості {count}; на цій дошці їх більше.",
3637
+ "comments": "{count} коментар | {count} коментарі | {count} коментарів",
3638
+ "confidence": {
3639
+ "high": "висока",
3640
+ "medium": "середня",
3641
+ "low": "низька"
3642
+ },
3643
+ "status": {
3644
+ "ranked": "Впорядковано за впливом щодо того, наскільки складним видається виправлення.",
3645
+ "unavailable": "Модель оцінювання не налаштована, тому ці помилки не оцінено.",
3646
+ "failed": "Не вдалося завершити оцінювання, тому ці помилки не оцінено.",
3647
+ "over_budget": "Цей робочий простір перевищив бюджет витрат, тому їх не оцінено.",
3648
+ "empty": "Нема чого оцінювати."
3649
+ }
3650
+ },
3597
3651
  "pipeline": {
3598
3652
  "iterationCap": {
3599
3653
  "extraRound": "Ще один раунд",
@@ -3602,10 +3656,12 @@
3602
3656
  },
3603
3657
  "preview": {
3604
3658
  "stepCount": "{count} крок | {count} кроки | {count} кроків",
3659
+ "gateCount": "{count} підтвердження | {count} підтвердження | {count} підтверджень",
3605
3660
  "gated": "Ручне підтвердження після цього кроку"
3606
3661
  },
3607
3662
  "picker": {
3608
- "noneHint": "Немає типового пайплайну. Ви обираєте його під час запуску завдання."
3663
+ "noneHint": "Немає типового пайплайну. Ви обираєте його під час запуску завдання.",
3664
+ "hoverHint": "Наведіть курсор на пайплайн, щоб побачити кроки, які він виконує."
3609
3665
  },
3610
3666
  "builder": {
3611
3667
  "title": "Конструктор пайплайнів",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cat-factory/app",
3
- "version": "0.162.2",
3
+ "version": "0.164.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.178.0"
43
+ "@cat-factory/contracts": "0.179.0"
44
44
  },
45
45
  "devDependencies": {
46
46
  "@toad-contracts/testing": "0.3.2",