@cat-factory/app 0.161.0 → 0.162.1

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 (33) hide show
  1. package/app/components/panels/AgentStepDetail.vue +58 -6
  2. package/app/components/panels/ReportsPanel.logic.spec.ts +76 -0
  3. package/app/components/panels/ReportsPanel.logic.ts +71 -0
  4. package/app/components/panels/ReportsPanel.vue +471 -0
  5. package/app/components/panels/ReportsSpendBreakdown.vue +70 -0
  6. package/app/components/panels/inspector/TaskExecution.vue +25 -1
  7. package/app/components/pipeline/PipelineProgress.vue +13 -3
  8. package/app/composables/api/reports.ts +19 -0
  9. package/app/composables/useApi.ts +2 -0
  10. package/app/composables/useNavContributions.ts +1 -0
  11. package/app/composables/useStepApproval.ts +10 -9
  12. package/app/modular/nav-contributions.spec.ts +1 -0
  13. package/app/modular/nav-contributions.ts +11 -0
  14. package/app/pages/index.vue +2 -0
  15. package/app/stores/execution/commands.ts +47 -16
  16. package/app/stores/reports.spec.ts +113 -0
  17. package/app/stores/reports.ts +91 -0
  18. package/app/stores/ui/modals.ts +14 -0
  19. package/app/stores/ui/resultViews.ts +5 -1
  20. package/app/types/execution.ts +8 -0
  21. package/app/utils/pipelineRender.spec.ts +72 -0
  22. package/app/utils/pipelineRender.ts +26 -0
  23. package/i18n/locales/de.json +74 -1
  24. package/i18n/locales/en.json +74 -1
  25. package/i18n/locales/es.json +74 -1
  26. package/i18n/locales/fr.json +74 -1
  27. package/i18n/locales/he.json +74 -1
  28. package/i18n/locales/it.json +74 -1
  29. package/i18n/locales/ja.json +74 -1
  30. package/i18n/locales/pl.json +74 -1
  31. package/i18n/locales/tr.json +74 -1
  32. package/i18n/locales/uk.json +74 -1
  33. package/package.json +2 -2
@@ -112,6 +112,7 @@
112
112
  "modelConfiguration": "モデル設定",
113
113
  "accountSettings": "アカウント設定",
114
114
  "operatorDashboard": "プラットフォームの可観測性",
115
+ "reports": "レポート",
115
116
  "environmentSetup": "環境セットアップ"
116
117
  },
117
118
  "board": {
@@ -455,7 +456,10 @@
455
456
  "retryFailed": "再試行に失敗しました",
456
457
  "startFailed": "開始に失敗しました",
457
458
  "mergeFailed": "マージに失敗しました",
458
- "restartFailed": "再起動に失敗しました"
459
+ "restartFailed": "再起動に失敗しました",
460
+ "approveFailed": "承認に失敗しました",
461
+ "requestChangesFailed": "変更リクエストに失敗しました",
462
+ "rejectFailed": "却下に失敗しました"
459
463
  },
460
464
  "reviewFriction": {
461
465
  "warnTitle": "レビュー待ちのタスク",
@@ -979,6 +983,7 @@
979
983
  "body": "パイプラインを開始すると、ここに実行履歴が表示されます。"
980
984
  },
981
985
  "chooseApproach": "アプローチを選択",
986
+ "triageFollowUps": "フォローアップを決定",
982
987
  "elapsedTooltip": "このステップの経過時間",
983
988
  "reviewFindings": "指摘を確認"
984
989
  },
@@ -1212,6 +1217,10 @@
1212
1217
  "details": "詳細",
1213
1218
  "approvalRequired": "承認が必要",
1214
1219
  "decisionRequired": "判断が必要",
1220
+ "followUpsParked": "Coderが決定待ちのフォローアップ項目を提起しています。実行を続行するには、フォローアップウィンドウで各項目を処理してください(起票、差し戻し、回答、または却下)。",
1221
+ "forkParked": "このCoderステップは、コードを書く前に実装アプローチの選択を待っています。決定ウィンドウで提案されたアプローチを選ぶか、独自のアプローチを入力してください。",
1222
+ "openFollowUps": "フォローアップを開く",
1223
+ "chooseApproach": "アプローチを選択",
1215
1224
  "expandAll": "すべてのセクションを展開",
1216
1225
  "collapseAll": "すべてのセクションを折りたたむ",
1217
1226
  "copyRawOutput": "生の出力をコピー",
@@ -1461,6 +1470,70 @@
1461
1470
  "title": "現在アクティブ"
1462
1471
  }
1463
1472
  },
1473
+ "reports": {
1474
+ "title": "レポート",
1475
+ "refresh": "更新",
1476
+ "loading": "レポートを読み込んでいます…",
1477
+ "retry": "再試行",
1478
+ "error": "レポートを読み込めませんでした。",
1479
+ "period": "{from} 〜 {to}",
1480
+ "unattributed": "未割り当て",
1481
+ "window": {
1482
+ "oneDay": "過去24時間",
1483
+ "sevenDays": "過去7日間",
1484
+ "thirtyDays": "過去30日間",
1485
+ "ninetyDays": "過去90日間"
1486
+ },
1487
+ "filter": {
1488
+ "board": "ボード",
1489
+ "allBoards": "すべてのボード"
1490
+ },
1491
+ "dimension": {
1492
+ "workspace": "ボード",
1493
+ "service": "サービス",
1494
+ "taskType": "タスクの種類"
1495
+ },
1496
+ "breakdown": {
1497
+ "title": "内訳の軸"
1498
+ },
1499
+ "totals": {
1500
+ "title": "この期間",
1501
+ "metered": "従量課金の費用",
1502
+ "subscription": "サブスクリプション",
1503
+ "calls": "LLM 呼び出し",
1504
+ "tokens": "トークン",
1505
+ "illustrative": "サブスクリプションの費用は参考値です。これらのプランは定額制で、トークン単位では課金されず、支出としては集計されません。"
1506
+ },
1507
+ "trend": {
1508
+ "title": "期間中の費用推移",
1509
+ "empty": "この期間に記録された利用はありません。"
1510
+ },
1511
+ "legend": {
1512
+ "metered": "従量課金",
1513
+ "subscription": "サブスクリプション"
1514
+ },
1515
+ "spend": {
1516
+ "byModel": "モデル別の費用",
1517
+ "byAgentKind": "エージェント種別の費用",
1518
+ "heading": "費用",
1519
+ "empty": "この期間に記録された利用はありません。",
1520
+ "calls": "{count} 件の呼び出し | {count} 件の呼び出し",
1521
+ "tokens": "入力 {input} / 出力 {output}",
1522
+ "subscriptionAside": "+{value} サブスクリプション"
1523
+ },
1524
+ "activity": {
1525
+ "heading": "実行",
1526
+ "empty": "この期間に実行はありません。",
1527
+ "runs": "{count} 件の実行 | {count} 件の実行",
1528
+ "avg": "平均 {value}"
1529
+ },
1530
+ "status": {
1531
+ "done": "完了",
1532
+ "failed": "失敗",
1533
+ "running": "実行中",
1534
+ "other": "その他"
1535
+ }
1536
+ },
1464
1537
  "auth": {
1465
1538
  "gate": {
1466
1539
  "loading": "読み込み中…"
@@ -111,6 +111,7 @@
111
111
  "modelConfiguration": "Konfiguracja modelu",
112
112
  "accountSettings": "Ustawienia konta",
113
113
  "operatorDashboard": "Obserwowalność platformy",
114
+ "reports": "Raporty",
114
115
  "infrastructure": "Infrastruktura",
115
116
  "environmentSetup": "Konfiguracja środowiska"
116
117
  },
@@ -455,7 +456,10 @@
455
456
  "retryFailed": "Ponowienie nie powiodło się",
456
457
  "startFailed": "Nie udało się uruchomić",
457
458
  "mergeFailed": "Nie udało się scalić",
458
- "restartFailed": "Nie udało się ponownie uruchomić"
459
+ "restartFailed": "Nie udało się ponownie uruchomić",
460
+ "approveFailed": "Nie udało się zatwierdzić",
461
+ "requestChangesFailed": "Nie udało się poprosić o zmiany",
462
+ "rejectFailed": "Nie udało się odrzucić"
459
463
  },
460
464
  "reviewFriction": {
461
465
  "warnTitle": "Zadania czekające na przegląd",
@@ -979,6 +983,7 @@
979
983
  "body": "Uruchom pipeline, aby zobaczyć tutaj historię uruchomień."
980
984
  },
981
985
  "chooseApproach": "Wybierz podejście",
986
+ "triageFollowUps": "Rozstrzygnij działania następcze",
982
987
  "elapsedTooltip": "Czas, który upłynął na tym kroku",
983
988
  "reviewFindings": "Przejrzyj ustalenia"
984
989
  },
@@ -1212,6 +1217,10 @@
1212
1217
  "details": "Szczegóły",
1213
1218
  "approvalRequired": "Wymagane zatwierdzenie",
1214
1219
  "decisionRequired": "Wymagana decyzja",
1220
+ "followUpsParked": "Coder zgłosił działania następcze, które wymagają rozstrzygnięcia, zanim uruchomienie będzie mogło kontynuować. Rozstrzygnij każdy element (utwórz, odeślij, odpowiedz lub odrzuć) w oknie działań następczych.",
1221
+ "forkParked": "Ten krok Codera czeka na wybór podejścia do implementacji, zanim powstanie kod. Wybierz zaproponowane podejście (lub wpisz własne) w oknie decyzji.",
1222
+ "openFollowUps": "Otwórz działania następcze",
1223
+ "chooseApproach": "Wybierz podejście",
1215
1224
  "expandAll": "Rozwiń wszystkie sekcje",
1216
1225
  "collapseAll": "Zwiń wszystkie sekcje",
1217
1226
  "copyRawOutput": "Kopiuj surowy wynik",
@@ -1461,6 +1470,70 @@
1461
1470
  "title": "Aktywne teraz"
1462
1471
  }
1463
1472
  },
1473
+ "reports": {
1474
+ "title": "Raporty",
1475
+ "refresh": "Odśwież",
1476
+ "loading": "Wczytywanie raportów…",
1477
+ "retry": "Spróbuj ponownie",
1478
+ "error": "Nie udało się wczytać raportów.",
1479
+ "period": "Od {from} do {to}",
1480
+ "unattributed": "Nieprzypisane",
1481
+ "window": {
1482
+ "oneDay": "Ostatnie 24 godziny",
1483
+ "sevenDays": "Ostatnie 7 dni",
1484
+ "thirtyDays": "Ostatnie 30 dni",
1485
+ "ninetyDays": "Ostatnie 90 dni"
1486
+ },
1487
+ "filter": {
1488
+ "board": "Tablica",
1489
+ "allBoards": "Wszystkie tablice"
1490
+ },
1491
+ "dimension": {
1492
+ "workspace": "Tablica",
1493
+ "service": "Usługa",
1494
+ "taskType": "Typ zadania"
1495
+ },
1496
+ "breakdown": {
1497
+ "title": "Podział według"
1498
+ },
1499
+ "totals": {
1500
+ "title": "W tym okresie",
1501
+ "metered": "Koszt rozliczany",
1502
+ "subscription": "Subskrypcja",
1503
+ "calls": "Wywołania LLM",
1504
+ "tokens": "Tokeny",
1505
+ "illustrative": "Koszty subskrypcji są poglądowe — te plany mają stałą cenę, nie są rozliczane za token i nigdy nie liczą się jako wydatek."
1506
+ },
1507
+ "trend": {
1508
+ "title": "Koszty w czasie",
1509
+ "empty": "W tym okresie nie zarejestrowano użycia."
1510
+ },
1511
+ "legend": {
1512
+ "metered": "Rozliczane",
1513
+ "subscription": "Subskrypcja"
1514
+ },
1515
+ "spend": {
1516
+ "byModel": "Koszty według modelu",
1517
+ "byAgentKind": "Koszty według typu agenta",
1518
+ "heading": "Koszty",
1519
+ "empty": "W tym okresie nie zarejestrowano użycia.",
1520
+ "calls": "{count} wywołanie | {count} wywołania | {count} wywołań",
1521
+ "tokens": "{input} wejścia / {output} wyjścia",
1522
+ "subscriptionAside": "+{value} subskrypcja"
1523
+ },
1524
+ "activity": {
1525
+ "heading": "Uruchomienia",
1526
+ "empty": "W tym okresie nie było uruchomień.",
1527
+ "runs": "{count} uruchomienie | {count} uruchomienia | {count} uruchomień",
1528
+ "avg": "śr. {value}"
1529
+ },
1530
+ "status": {
1531
+ "done": "Ukończone",
1532
+ "failed": "Nieudane",
1533
+ "running": "W trakcie",
1534
+ "other": "Inne"
1535
+ }
1536
+ },
1464
1537
  "auth": {
1465
1538
  "gate": {
1466
1539
  "loading": "Ładowanie…"
@@ -112,6 +112,7 @@
112
112
  "modelConfiguration": "Model yapılandırması",
113
113
  "accountSettings": "Hesap ayarları",
114
114
  "operatorDashboard": "Platform gözlemlenebilirliği",
115
+ "reports": "Raporlar",
115
116
  "environmentSetup": "Ortam kurulumu"
116
117
  },
117
118
  "board": {
@@ -455,7 +456,10 @@
455
456
  "retryFailed": "Yeniden deneme başarısız oldu",
456
457
  "startFailed": "Başlatılamadı",
457
458
  "mergeFailed": "Birleştirilemedi",
458
- "restartFailed": "Yeniden başlatılamadı"
459
+ "restartFailed": "Yeniden başlatılamadı",
460
+ "approveFailed": "Onaylanamadı",
461
+ "requestChangesFailed": "Değişiklik istenemedi",
462
+ "rejectFailed": "Reddedilemedi"
459
463
  },
460
464
  "reviewFriction": {
461
465
  "warnTitle": "Görevler incelemeyi bekliyor",
@@ -979,6 +983,7 @@
979
983
  "body": "Çalıştırma geçmişini burada görmek için bir pipeline başlatın."
980
984
  },
981
985
  "chooseApproach": "Yaklaşım seç",
986
+ "triageFollowUps": "Takipleri karara bağla",
982
987
  "elapsedTooltip": "Bu adımda geçen süre",
983
988
  "reviewFindings": "Bulguları incele"
984
989
  },
@@ -1212,6 +1217,10 @@
1212
1217
  "details": "Ayrıntılar",
1213
1218
  "approvalRequired": "Onay gerekli",
1214
1219
  "decisionRequired": "Karar gerekli",
1220
+ "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).",
1221
+ "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).",
1222
+ "openFollowUps": "Takipleri aç",
1223
+ "chooseApproach": "Yaklaşım seç",
1215
1224
  "expandAll": "Tüm bölümleri genişlet",
1216
1225
  "collapseAll": "Tüm bölümleri daralt",
1217
1226
  "copyRawOutput": "Ham çıktıyı kopyala",
@@ -1461,6 +1470,70 @@
1461
1470
  "title": "Şu anda etkin"
1462
1471
  }
1463
1472
  },
1473
+ "reports": {
1474
+ "title": "Raporlar",
1475
+ "refresh": "Yenile",
1476
+ "loading": "Raporlar yükleniyor…",
1477
+ "retry": "Yeniden dene",
1478
+ "error": "Raporlar yüklenemedi.",
1479
+ "period": "{from} – {to}",
1480
+ "unattributed": "Atanmamış",
1481
+ "window": {
1482
+ "oneDay": "Son 24 saat",
1483
+ "sevenDays": "Son 7 gün",
1484
+ "thirtyDays": "Son 30 gün",
1485
+ "ninetyDays": "Son 90 gün"
1486
+ },
1487
+ "filter": {
1488
+ "board": "Pano",
1489
+ "allBoards": "Tüm panolar"
1490
+ },
1491
+ "dimension": {
1492
+ "workspace": "Pano",
1493
+ "service": "Servis",
1494
+ "taskType": "Görev türü"
1495
+ },
1496
+ "breakdown": {
1497
+ "title": "Şuna göre dağılım"
1498
+ },
1499
+ "totals": {
1500
+ "title": "Bu dönemde",
1501
+ "metered": "Ölçümlü harcama",
1502
+ "subscription": "Abonelik",
1503
+ "calls": "LLM çağrısı",
1504
+ "tokens": "Token",
1505
+ "illustrative": "Abonelik maliyetleri yalnızca tahminidir — bu planlar sabit ücretlidir, token başına faturalandırılmaz ve hiçbir zaman harcama olarak sayılmaz."
1506
+ },
1507
+ "trend": {
1508
+ "title": "Zaman içinde harcama",
1509
+ "empty": "Bu dönemde kayıtlı kullanım yok."
1510
+ },
1511
+ "legend": {
1512
+ "metered": "Ölçümlü",
1513
+ "subscription": "Abonelik"
1514
+ },
1515
+ "spend": {
1516
+ "byModel": "Modele göre harcama",
1517
+ "byAgentKind": "Ajan türüne göre harcama",
1518
+ "heading": "Harcama",
1519
+ "empty": "Bu dönemde kayıtlı kullanım yok.",
1520
+ "calls": "{count} çağrı | {count} çağrı",
1521
+ "tokens": "{input} giriş / {output} çıkış",
1522
+ "subscriptionAside": "+{value} abonelik"
1523
+ },
1524
+ "activity": {
1525
+ "heading": "Çalıştırmalar",
1526
+ "empty": "Bu dönemde çalıştırma yok.",
1527
+ "runs": "{count} çalıştırma | {count} çalıştırma",
1528
+ "avg": "ort. {value}"
1529
+ },
1530
+ "status": {
1531
+ "done": "Tamamlanan",
1532
+ "failed": "Başarısız",
1533
+ "running": "Çalışıyor",
1534
+ "other": "Diğer"
1535
+ }
1536
+ },
1464
1537
  "auth": {
1465
1538
  "gate": {
1466
1539
  "loading": "Yükleniyor…"
@@ -111,6 +111,7 @@
111
111
  "modelConfiguration": "Конфігурація моделі",
112
112
  "accountSettings": "Налаштування облікового запису",
113
113
  "operatorDashboard": "Спостережуваність платформи",
114
+ "reports": "Звіти",
114
115
  "infrastructure": "Інфраструктура",
115
116
  "environmentSetup": "Налаштування середовища"
116
117
  },
@@ -455,7 +456,10 @@
455
456
  "retryFailed": "Не вдалося повторити",
456
457
  "startFailed": "Не вдалося запустити",
457
458
  "mergeFailed": "Не вдалося злити",
458
- "restartFailed": "Не вдалося перезапустити"
459
+ "restartFailed": "Не вдалося перезапустити",
460
+ "approveFailed": "Не вдалося затвердити",
461
+ "requestChangesFailed": "Не вдалося запросити зміни",
462
+ "rejectFailed": "Не вдалося відхилити"
459
463
  },
460
464
  "reviewFriction": {
461
465
  "warnTitle": "Завдання чекають на рев’ю",
@@ -979,6 +983,7 @@
979
983
  "body": "Запустіть pipeline, щоб побачити тут історію запусків."
980
984
  },
981
985
  "chooseApproach": "Обрати підхід",
986
+ "triageFollowUps": "Вирішити подальші дії",
982
987
  "elapsedTooltip": "Час, що минув на цьому кроці",
983
988
  "reviewFindings": "Переглянути зауваження"
984
989
  },
@@ -1212,6 +1217,10 @@
1212
1217
  "details": "Деталі",
1213
1218
  "approvalRequired": "Потрібне затвердження",
1214
1219
  "decisionRequired": "Потрібне рішення",
1220
+ "followUpsParked": "Coder підняв подальші дії, які потребують рішення, перш ніж запуск зможе продовжитися. Опрацюйте кожен елемент (створіть, поверніть, дайте відповідь або відхиліть) у вікні подальших дій.",
1221
+ "forkParked": "Цей крок Coder чекає на вибір підходу до реалізації, перш ніж буде написано код. Виберіть запропонований підхід (або введіть власний) у вікні рішення.",
1222
+ "openFollowUps": "Відкрити подальші дії",
1223
+ "chooseApproach": "Вибрати підхід",
1215
1224
  "expandAll": "Розгорнути всі розділи",
1216
1225
  "collapseAll": "Згорнути всі розділи",
1217
1226
  "copyRawOutput": "Скопіювати сирий вивід",
@@ -1461,6 +1470,70 @@
1461
1470
  "title": "Активні зараз"
1462
1471
  }
1463
1472
  },
1473
+ "reports": {
1474
+ "title": "Звіти",
1475
+ "refresh": "Оновити",
1476
+ "loading": "Завантаження звітів…",
1477
+ "retry": "Спробувати ще раз",
1478
+ "error": "Не вдалося завантажити звіти.",
1479
+ "period": "З {from} по {to}",
1480
+ "unattributed": "Без прив’язки",
1481
+ "window": {
1482
+ "oneDay": "Останні 24 години",
1483
+ "sevenDays": "Останні 7 днів",
1484
+ "thirtyDays": "Останні 30 днів",
1485
+ "ninetyDays": "Останні 90 днів"
1486
+ },
1487
+ "filter": {
1488
+ "board": "Дошка",
1489
+ "allBoards": "Усі дошки"
1490
+ },
1491
+ "dimension": {
1492
+ "workspace": "Дошка",
1493
+ "service": "Сервіс",
1494
+ "taskType": "Тип завдання"
1495
+ },
1496
+ "breakdown": {
1497
+ "title": "Розбивка за"
1498
+ },
1499
+ "totals": {
1500
+ "title": "За цей період",
1501
+ "metered": "Оплачені витрати",
1502
+ "subscription": "Підписка",
1503
+ "calls": "Виклики LLM",
1504
+ "tokens": "Токени",
1505
+ "illustrative": "Вартість підписки наводиться для орієнтиру — ці тарифи фіксовані, не тарифікуються за токен і ніколи не враховуються як витрати."
1506
+ },
1507
+ "trend": {
1508
+ "title": "Витрати в часі",
1509
+ "empty": "За цей період використання не зафіксовано."
1510
+ },
1511
+ "legend": {
1512
+ "metered": "Оплачені",
1513
+ "subscription": "Підписка"
1514
+ },
1515
+ "spend": {
1516
+ "byModel": "Витрати за моделлю",
1517
+ "byAgentKind": "Витрати за типом агента",
1518
+ "heading": "Витрати",
1519
+ "empty": "За цей період використання не зафіксовано.",
1520
+ "calls": "{count} виклик | {count} виклики | {count} викликів",
1521
+ "tokens": "{input} вхід / {output} вихід",
1522
+ "subscriptionAside": "+{value} підписка"
1523
+ },
1524
+ "activity": {
1525
+ "heading": "Запуски",
1526
+ "empty": "За цей період запусків не було.",
1527
+ "runs": "{count} запуск | {count} запуски | {count} запусків",
1528
+ "avg": "сер. {value}"
1529
+ },
1530
+ "status": {
1531
+ "done": "Завершені",
1532
+ "failed": "Невдалі",
1533
+ "running": "Виконуються",
1534
+ "other": "Інші"
1535
+ }
1536
+ },
1464
1537
  "auth": {
1465
1538
  "gate": {
1466
1539
  "loading": "Завантаження…"
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cat-factory/app",
3
- "version": "0.161.0",
3
+ "version": "0.162.1",
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.175.0"
43
+ "@cat-factory/contracts": "0.177.0"
44
44
  },
45
45
  "devDependencies": {
46
46
  "@toad-contracts/testing": "0.3.2",