@cat-factory/app 0.257.0 → 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.
Files changed (44) hide show
  1. package/app/components/binaryOutput/BinaryOutputReport.vue +42 -0
  2. package/app/components/board/AddTaskModal.vue +38 -12
  3. package/app/components/board/RecurringPipelineModal.vue +24 -12
  4. package/app/components/board/nodes/TaskCard.vue +34 -7
  5. package/app/components/panels/InspectorPanel.vue +39 -0
  6. package/app/components/pipeline/BinaryOutputStepPicker.logic.spec.ts +29 -0
  7. package/app/components/pipeline/BinaryOutputStepPicker.logic.ts +23 -0
  8. package/app/components/pipeline/BinaryOutputStepPicker.vue +109 -0
  9. package/app/components/pipeline/PipelineBuilder.vue +44 -0
  10. package/app/components/pipeline/PipelinePreview.vue +20 -1
  11. package/app/components/pipeline/PipelineProgress.vue +13 -0
  12. package/app/composables/api/execution.ts +19 -0
  13. package/app/composables/usePipelineHealth.spec.ts +42 -5
  14. package/app/composables/usePipelineHealth.ts +109 -48
  15. package/app/modular/agent-kinds.ts +5 -0
  16. package/app/stores/environmentWizard/context.ts +0 -2
  17. package/app/stores/environmentWizard/flow.ts +11 -6
  18. package/app/stores/environmentWizard.ts +12 -11
  19. package/app/stores/execution/commands.ts +26 -1
  20. package/app/stores/pipelines/draftActions.ts +2 -0
  21. package/app/stores/pipelines/draftStepConfig.ts +4 -161
  22. package/app/stores/pipelines/draftStepOptions.ts +204 -0
  23. package/app/types/domain.ts +6 -0
  24. package/app/utils/agentPalette.spec.ts +26 -0
  25. package/app/utils/agentPalette.ts +9 -4
  26. package/app/utils/binaryOutput.spec.ts +122 -1
  27. package/app/utils/binaryOutput.ts +101 -0
  28. package/app/utils/catalog.spec.ts +24 -0
  29. package/app/utils/catalog.ts +21 -4
  30. package/app/utils/pipeline.spec.ts +35 -3
  31. package/app/utils/pipeline.ts +54 -3
  32. package/app/utils/pipelineRender.spec.ts +78 -2
  33. package/app/utils/pipelineRender.ts +43 -0
  34. package/i18n/locales/de.json +29 -1
  35. package/i18n/locales/en.json +29 -1
  36. package/i18n/locales/es.json +29 -1
  37. package/i18n/locales/fr.json +29 -1
  38. package/i18n/locales/he.json +29 -1
  39. package/i18n/locales/it.json +29 -1
  40. package/i18n/locales/ja.json +29 -1
  41. package/i18n/locales/pl.json +29 -1
  42. package/i18n/locales/tr.json +29 -1
  43. package/i18n/locales/uk.json +29 -1
  44. package/package.json +2 -2
@@ -1548,6 +1548,8 @@
1548
1548
  "priorDocHint": "Önceki incelemeden. Bir temel olarak kullanın: yukarıdaki açıklamayı düzenleyip yeniden gönderin.",
1549
1549
  "bootstrapping": "Önyükleniyor…",
1550
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.",
1551
1553
  "reRun": "Yeniden çalıştır",
1552
1554
  "run": "Çalıştır",
1553
1555
  "focus": "Odaklan",
@@ -4603,7 +4605,11 @@
4603
4605
  "preview": {
4604
4606
  "stepCount": "{count} adım | {count} adım",
4605
4607
  "gateCount": "{count} onay | {count} onay",
4606
- "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"
4607
4613
  },
4608
4614
  "picker": {
4609
4615
  "noneHint": "Varsayılan pipeline yok. Görevi çalıştırırken birini seçersin.",
@@ -4689,6 +4695,11 @@
4689
4695
  "edit": "Bu pipeline'ı düzenle",
4690
4696
  "delete": "Bu pipeline'ı sil",
4691
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
+ },
4692
4703
  "cancelEdit": "Düzenlemeyi iptal et",
4693
4704
  "clear": "Temizle",
4694
4705
  "update": "Pipeline'ı güncelle",
@@ -4778,6 +4789,7 @@
4778
4789
  "negative-prompt": "Negatif istem",
4779
4790
  "seed": "Sabit tohum",
4780
4791
  "aspect-ratio": "En boy oranı",
4792
+ "exact-size": "Tam boyut",
4781
4793
  "candidate-batch": "Çağrı başına birden çok aday",
4782
4794
  "upscale": "Büyütme",
4783
4795
  "transparent-background": "Saydam arka plan",
@@ -4799,6 +4811,11 @@
4799
4811
  "binaryNegativePromptPlaceholder": "nelerden kaçınılacağı",
4800
4812
  "binaryAspectRatio": "En boy oranı",
4801
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.",
4802
4819
  "binarySeed": "Tohum",
4803
4820
  "binarySeedPlaceholder": "sabit tohum",
4804
4821
  "binaryTransparent": "Saydam arka plan",
@@ -4860,6 +4877,14 @@
4860
4877
  "elapsedTooltip": "Bu adımda geçen süre",
4861
4878
  "prReview": {
4862
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ı."
4863
4888
  }
4864
4889
  },
4865
4890
  "health": {
@@ -6303,6 +6328,8 @@
6303
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.",
6304
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.",
6305
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.",
6306
6333
  "misdirected": "1 ürün {target} dışında bir hizmete gitti. | {count} ürün {target} dışında bir hizmete gitti.",
6307
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ı.",
6308
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.",
@@ -6310,6 +6337,7 @@
6310
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."
6311
6338
  },
6312
6339
  "unknownGeneratorBadge": "Kayıtlı değil",
6340
+ "missizedBadge": "Yanlış boyut",
6313
6341
  "candidates": {
6314
6342
  "automatic": "{total} aday üretildi ve inceleme olmadan otomatik olarak tutuldu.",
6315
6343
  "chosen": "Üretilen {total} adayın {kept} tanesi tutuldu.",
@@ -1548,6 +1548,8 @@
1548
1548
  "priorDocHint": "З попереднього огляду. Використайте його як основу: відредагуйте опис вище та надішліть повторно.",
1549
1549
  "bootstrapping": "Ініціалізація…",
1550
1550
  "viewRequirements": "Переглянути вимоги",
1551
+ "mapService": "Скласти карту сервісу",
1552
+ "mapServiceNoRepo": "Спершу приєднайте репозиторій до цього сервісу — поки що нема чого картувати.",
1551
1553
  "reRun": "Перезапустити",
1552
1554
  "run": "Запустити",
1553
1555
  "focus": "Фокус",
@@ -4603,7 +4605,11 @@
4603
4605
  "preview": {
4604
4606
  "stepCount": "{count} крок | {count} кроки | {count} кроків",
4605
4607
  "gateCount": "{count} підтвердження | {count} підтвердження | {count} підтверджень",
4606
- "gated": "Ручне підтвердження після цього кроку"
4608
+ "gated": "Ручне підтвердження після цього кроку",
4609
+ "conditionalCount": "{count} умовний крок | {count} умовні кроки | {count} умовних кроків",
4610
+ "conditionEstimate": "Виконується, лише якщо оцінка завдання перевищує пороги цього кроку",
4611
+ "conditionFrontend": "Виконується, лише якщо завдання змінює фронтенд-сервіс",
4612
+ "conditionBackend": "Виконується, лише якщо завдання змінює нефронтенд-сервіс"
4607
4613
  },
4608
4614
  "picker": {
4609
4615
  "noneHint": "Немає типового пайплайну. Ви обираєте його під час запуску завдання.",
@@ -4689,6 +4695,11 @@
4689
4695
  "edit": "Редагувати цей пайплайн",
4690
4696
  "delete": "Видалити цей пайплайн",
4691
4697
  "disabledStepTooltip": "Вимкнено, пропускається під час запуску",
4698
+ "condition": {
4699
+ "always": "Виконується для кожного завдання — натисніть, щоб зробити умовним",
4700
+ "frontend": "Виконується лише для завдань, що змінюють фронтенд-сервіс",
4701
+ "backend": "Виконується лише для завдань, що змінюють нефронтенд-сервіс"
4702
+ },
4692
4703
  "cancelEdit": "Скасувати редагування",
4693
4704
  "clear": "Очистити",
4694
4705
  "update": "Оновити пайплайн",
@@ -4778,6 +4789,7 @@
4778
4789
  "negative-prompt": "Негативний промпт",
4779
4790
  "seed": "Фіксований seed",
4780
4791
  "aspect-ratio": "Співвідношення сторін",
4792
+ "exact-size": "Точний розмір",
4781
4793
  "candidate-batch": "Кілька кандидатів за виклик",
4782
4794
  "upscale": "Збільшення",
4783
4795
  "transparent-background": "Прозорий фон",
@@ -4799,6 +4811,11 @@
4799
4811
  "binaryNegativePromptPlaceholder": "чого уникати",
4800
4812
  "binaryAspectRatio": "Співвідношення сторін",
4801
4813
  "binaryAspectRatioPlaceholder": "16:9",
4814
+ "binaryOutputSize": "Розмір результату",
4815
+ "binaryOutputSizeWidth": "Ширина",
4816
+ "binaryOutputSizeHeight": "Висота",
4817
+ "binaryOutputSizeIncomplete": "Не збережено: точний розмір потребує і ширини, і висоти.",
4818
+ "binaryOutputSizeAmbiguous": "Точний розмір результату не поєднується з {options}: кожен з них удруге задає розміри, які буде доставлено. Залиште те, що є вимогою.",
4802
4819
  "binarySeed": "Seed",
4803
4820
  "binarySeedPlaceholder": "фіксований seed",
4804
4821
  "binaryTransparent": "Прозорий фон",
@@ -4860,6 +4877,14 @@
4860
4877
  "elapsedTooltip": "Час, що минув на цьому кроці",
4861
4878
  "prReview": {
4862
4879
  "review": "Переглянути зауваження"
4880
+ },
4881
+ "skipped": {
4882
+ "gated": "Пропущено: оцінка завдання була нижче порогів цього кроку.",
4883
+ "conditionFrontend": "Пропущено: це завдання не змінює жодного фронтенд-сервісу, тож немає інтерфейсу для перевірки.",
4884
+ "conditionBackend": "Пропущено: це завдання змінює лише фронтенд-сервіс, тож за ним немає API для перевірки.",
4885
+ "producerSkipped": "Пропущено: крок, який він перевіряє, був пропущений, тож немає чого оцінювати.",
4886
+ "runComplete": "Пропущено: запуск завершився до цього кроку, робити було нічого.",
4887
+ "unknown": "Пропущено: цей крок не виконувався."
4863
4888
  }
4864
4889
  },
4865
4890
  "health": {
@@ -6303,6 +6328,8 @@
6303
6328
  "unknownServices": "Названо службу, якої немає в каталозі: {ids}. Запис збережено так, як його заявлено; перевірте ідентифікатор у каталозі дошки. | Названо служби, яких немає в каталозі: {ids}. Записи збережено так, як їх заявлено; перевірте ідентифікатори у каталозі дошки. | Названо служби, яких немає в каталозі: {ids}. Записи збережено так, як їх заявлено; перевірте ідентифікатори у каталозі дошки.",
6304
6329
  "targetUnknown": "Каталог більше не містить власної служби зберігання цього кроку ({id}), тому нічого нижче не вдалося з нею зіставити. Зареєструйте її знову або вкажіть кроку іншу службу.",
6305
6330
  "undeliveredMediaTypes": "Цей крок мав надати {formats}, а жоден артефакт нижче не заявляє цього формату. | Цей крок мав надати {formats}, а жоден артефакт нижче не заявляє цих форматів. | Цей крок мав надати {formats}, а жоден артефакт нижче не заявляє цих форматів.",
6331
+ "missized": "1 артефакт надано в розмірі, відмінному від {width}×{height}. | {count} артефакти надано в розмірі, відмінному від {width}×{height}. | {count} артефактів надано в розмірі, відмінному від {width}×{height}.",
6332
+ "sizeUnreported": "1 артефакт не повідомляє розмірів, тож його розмір не вдалося перевірити. | {count} артефакти не повідомляють розмірів, тож їхні розміри не вдалося перевірити. | {count} артефактів не повідомляє розмірів, тож їхні розміри не вдалося перевірити.",
6306
6333
  "misdirected": "1 артефакт потрапив до служби, відмінної від {target}. | {count} артефакти потрапили до служби, відмінної від {target}. | {count} артефактів потрапило до служби, відмінної від {target}.",
6307
6334
  "invalidEntries": "Відкинуто 1 заявлений запис: у ньому не було ні служби, ні розташування. | Відкинуто {count} заявлені записи: у них не було ні служби, ні розташування. | Відкинуто {count} заявлених записів: у них не було ні служби, ні розташування.",
6308
6335
  "omitted": "Ще 1 артефакт заявлено понад межу звіту, і його немає в списку. | Ще {count} артефакти заявлено понад межу звіту, і їх немає в списку. | Ще {count} артефактів заявлено понад межу звіту, і їх немає в списку.",
@@ -6310,6 +6337,7 @@
6310
6337
  "generatorsUnverified": "Під час завершення кроку не вдалося прочитати генеративні інтеграції цього розгортання, тому названі нижче інтеграції не було з ними звірено. Записи збережено так, як їх заявлено."
6311
6338
  },
6312
6339
  "unknownGeneratorBadge": "Не зареєстровано",
6340
+ "missizedBadge": "Неправильний розмір",
6313
6341
  "candidates": {
6314
6342
  "automatic": "Створено {total} кандидата й залишено автоматично, без перегляду.",
6315
6343
  "chosen": "Залишено {kept} із {total} створених кандидатів.",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cat-factory/app",
3
- "version": "0.257.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.285.0"
43
+ "@cat-factory/contracts": "0.286.0"
44
44
  },
45
45
  "devDependencies": {
46
46
  "@toad-contracts/testing": "0.3.2",