@cat-factory/app 0.259.3 → 0.261.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 +34 -0
  2. package/app/components/auth/LoginScreen.vue +4 -3
  3. package/app/components/board/BoardCanvas.vue +9 -1
  4. package/app/components/board/TaskDependencyEdges.vue +35 -26
  5. package/app/components/github/AddServiceFromRepoModal.vue +132 -29
  6. package/app/components/settings/McpAuthorizeScreen.vue +262 -0
  7. package/app/composables/api/mcpAuthorization.ts +30 -0
  8. package/app/composables/useApi.ts +2 -0
  9. package/app/composables/useBoardActivity.ts +111 -0
  10. package/app/composables/useSettlingRaf.ts +32 -0
  11. package/app/composables/useTaskExpansion.ts +29 -11
  12. package/app/pages/mcp-authorize.vue +7 -0
  13. package/app/stores/auth/session.ts +14 -2
  14. package/app/stores/board/placement.ts +12 -3
  15. package/app/stores/board.spec.ts +22 -2
  16. package/app/utils/edgeSegments.spec.ts +49 -0
  17. package/app/utils/edgeSegments.ts +49 -0
  18. package/app/utils/monorepoImport.spec.ts +120 -0
  19. package/app/utils/monorepoImport.ts +154 -0
  20. package/app/utils/postSignIn.spec.ts +29 -0
  21. package/app/utils/postSignIn.ts +29 -0
  22. package/app/utils/settlingLoop.spec.ts +236 -0
  23. package/app/utils/settlingLoop.ts +101 -0
  24. package/i18n/locales/de.json +45 -1
  25. package/i18n/locales/en.json +45 -1
  26. package/i18n/locales/es.json +45 -1
  27. package/i18n/locales/fr.json +45 -1
  28. package/i18n/locales/he.json +45 -1
  29. package/i18n/locales/it.json +45 -1
  30. package/i18n/locales/ja.json +45 -1
  31. package/i18n/locales/pl.json +45 -1
  32. package/i18n/locales/tr.json +45 -1
  33. package/i18n/locales/uk.json +45 -1
  34. package/package.json +2 -2
@@ -2575,6 +2575,45 @@
2575
2575
  }
2576
2576
  }
2577
2577
  },
2578
+ "mcpAuthorize": {
2579
+ "title": "{client} bağlansın mı?",
2580
+ "subtitle": "Kendisini {client} olarak tanıtıyor ve bu kurulum onu {origin} adresine geri gönderecek.",
2581
+ "workspace": {
2582
+ "label": "Üzerinde işlem yapabileceği pano"
2583
+ },
2584
+ "scopeLabel": "Neler yapabilecek",
2585
+ "scopeHint": "Her düzey kendisinden öncekileri de kapsar.",
2586
+ "scope": {
2587
+ "read": {
2588
+ "label": "Yalnızca okuma",
2589
+ "description": "Servisleri, görevleri, hatları ve çalışmaları görüntüler."
2590
+ },
2591
+ "write": {
2592
+ "label": "Okuma ve yazma",
2593
+ "description": "Ayrıca görev oluşturur ve başlatır."
2594
+ },
2595
+ "decide": {
2596
+ "label": "Okuma, yazma ve karar",
2597
+ "description": "Ayrıca duraklatılmış bir çalışmanın beklediği soruları yanıtlar."
2598
+ },
2599
+ "admin": {
2600
+ "label": "Tam erişim",
2601
+ "description": "Ayrıca görev siler ve bildirimlere işlem uygular; bu bir pull request'i birleştirebilir."
2602
+ }
2603
+ },
2604
+ "requestedScope": "{client} {scope} istedi. Bunu gerçekten vermek istiyorsanız yukarıdan o seçeneği seçin.",
2605
+ "approve": "Bağla",
2606
+ "deny": "Vazgeç",
2607
+ "back": "Uygulamaya dön",
2608
+ "noWorkspaces": "Bunu bağlayabileceğiniz bir pano henüz yok.",
2609
+ "revokeHint": "Bu işlem, pano ayarlarından istediğiniz zaman iptal edebileceğiniz bir API anahtarı oluşturur.",
2610
+ "error": {
2611
+ "title": "Bu bağlantı kurulamadı",
2612
+ "noRequest": "Bu sayfa bir yetkilendirme isteği olmadan açıldı. Bağlantıyı MCP istemcinizden başlatın.",
2613
+ "expired": "Bu yetkilendirme isteği geçersiz veya süresi dolmuş. Bağlantıyı MCP istemcinizden yeniden başlatın.",
2614
+ "failed": "Karar kaydedilemedi. Bağlantıyı MCP istemcinizden yeniden başlatın."
2615
+ }
2616
+ },
2578
2617
  "settings": {
2579
2618
  "modelConfiguration": {
2580
2619
  "title": "Model Yapılandırması",
@@ -4138,6 +4177,9 @@
4138
4177
  "monorepoBrowseHint": "Depoyu inceleyin ve eklemek istediğiniz servislerin dizinlerini herhangi bir klasörden seçin. Bir servis üzerinde çalışan ajanlar onun alt dizininde çalışır.",
4139
4178
  "selectedServices": "Seçili servisler",
4140
4179
  "noServicesSelected": "Henüz servis seçilmedi. Yukarıdan dizin seçin.",
4180
+ "frontendLabel": "Frontend uygulaması (isteğe bağlı)",
4181
+ "frontendHint": "Seçtiğiniz dizinlerden birini diğerlerinin frontend uygulaması olarak işaretleyin. O alt dizine sabitlenmiş bir frontend uygulaması olarak eklenir ve yanında eklenen her backend servisine bağlanır. Backend URL ortam değişkenlerinin adlarını sonrasında frontend’in inspector’ında girin.",
4182
+ "frontendNone": "Yok: tüm seçimler backend servisidir",
4141
4183
  "addServices": "{count} servis ekle | {count} servis ekle",
4142
4184
  "removeService": "{directory} öğesini kaldır",
4143
4185
  "addedConfigure": "{title} eklendi, yapılandırın",
@@ -4151,7 +4193,9 @@
4151
4193
  "addedDescription": "{title} panoda, aşağıdan yapılandırın.",
4152
4194
  "addFailedTitle": "Servis eklenemedi",
4153
4195
  "servicesAddedTitle": "Servisler eklendi",
4154
- "servicesAddedDescription": "{count} servis panoya eklendi. | {count} servis panoya eklendi."
4196
+ "servicesAddedDescription": "{count} servis panoya eklendi. | {count} servis panoya eklendi.",
4197
+ "frontendLinkedNote": "{directory} frontend olarak eklendi ve diğerlerine bağlandı. Backend URL ortam değişkenlerinin adlarını inspector’ında girin.",
4198
+ "frontendWiringFailedNote": "Frontend ayarları kaydedilmedi. Alt dizinini ve backend servislerini ayarlamak için her frontend uygulamasının inspector’ını açın."
4155
4199
  },
4156
4200
  "repoType": "Depo türü",
4157
4201
  "repoTypeHint": "Bu deponun türü: bir backend servisi, bir frontend uygulaması, paylaşılan bir kütüphane veya bir doküman deposu (yalnızca doküman/spike)."
@@ -2575,6 +2575,45 @@
2575
2575
  }
2576
2576
  }
2577
2577
  },
2578
+ "mcpAuthorize": {
2579
+ "title": "Підключити {client}?",
2580
+ "subtitle": "Він представляється як {client}, і це розгортання поверне його на {origin}.",
2581
+ "workspace": {
2582
+ "label": "Дошка, на якій він зможе діяти"
2583
+ },
2584
+ "scopeLabel": "Що йому дозволено",
2585
+ "scopeHint": "Кожен рівень включає попередні.",
2586
+ "scope": {
2587
+ "read": {
2588
+ "label": "Лише читання",
2589
+ "description": "Переглядати сервіси, завдання, конвеєри та запуски."
2590
+ },
2591
+ "write": {
2592
+ "label": "Читання та запис",
2593
+ "description": "А також створювати й запускати завдання."
2594
+ },
2595
+ "decide": {
2596
+ "label": "Читання, запис і рішення",
2597
+ "description": "А також відповідати на питання, на які чекає призупинений запуск."
2598
+ },
2599
+ "admin": {
2600
+ "label": "Повний доступ",
2601
+ "description": "А також видаляти завдання й діяти за сповіщеннями, що може злити пулреквест."
2602
+ }
2603
+ },
2604
+ "requestedScope": "{client} запросив {scope}. Обирайте цей варіант вище, лише якщо ви справді хочете його надати.",
2605
+ "approve": "Підключити",
2606
+ "deny": "Скасувати",
2607
+ "back": "Повернутися до застосунку",
2608
+ "noWorkspaces": "У вас поки немає дошки, до якої це можна підключити.",
2609
+ "revokeHint": "Буде видано ключ API, який ви будь-коли можете відкликати в налаштуваннях дошки.",
2610
+ "error": {
2611
+ "title": "Не вдалося налаштувати це підключення",
2612
+ "noRequest": "Цю сторінку відкрито без запиту авторизації. Почніть підключення у своєму хості MCP.",
2613
+ "expired": "Цей запит авторизації недійсний або застарів. Почніть підключення знову у своєму хості MCP.",
2614
+ "failed": "Не вдалося зберегти рішення. Почніть підключення знову у своєму хості MCP."
2615
+ }
2616
+ },
2578
2617
  "settings": {
2579
2618
  "modelConfiguration": {
2580
2619
  "title": "Налаштування моделей",
@@ -4138,6 +4177,9 @@
4138
4177
  "monorepoBrowseHint": "Перегляньте репозиторій і виберіть каталоги сервісів, які хочете додати — з будь-якої папки. Агенти, що працюють над сервісом, виконуються в межах його підкаталогу.",
4139
4178
  "selectedServices": "Вибрані сервіси",
4140
4179
  "noServicesSelected": "Сервіси ще не вибрано. Виберіть каталоги вище.",
4180
+ "frontendLabel": "Фронтенд-застосунок (необовʼязково)",
4181
+ "frontendHint": "Позначте один із вибраних каталогів як фронтенд для решти. Його буде додано як фронтенд-застосунок, закріплений за цим підкаталогом, і повʼязано з кожним бекенд-сервісом, доданим поруч. Назви змінних середовища з URL бекендів потім вкажіть в інспекторі фронтенду.",
4182
+ "frontendNone": "Немає: усі вибрані позиції є бекенд-сервісами",
4141
4183
  "addServices": "Додати {count} сервіс | Додати {count} сервіси | Додати {count} сервісів",
4142
4184
  "removeService": "Видалити {directory}",
4143
4185
  "addedConfigure": "{title} додано, налаштуйте",
@@ -4151,7 +4193,9 @@
4151
4193
  "addedDescription": "{title} на дошці, налаштуйте його нижче.",
4152
4194
  "addFailedTitle": "Не вдалося додати сервіс",
4153
4195
  "servicesAddedTitle": "Сервіси додано",
4154
- "servicesAddedDescription": "Додано {count} сервіс до дошки. | Додано {count} сервіси до дошки. | Додано {count} сервісів до дошки."
4196
+ "servicesAddedDescription": "Додано {count} сервіс до дошки. | Додано {count} сервіси до дошки. | Додано {count} сервісів до дошки.",
4197
+ "frontendLinkedNote": "{directory} додано як фронтенд і повʼязано з рештою. Вкажіть назви його змінних середовища з URL бекендів в інспекторі.",
4198
+ "frontendWiringFailedNote": "Налаштування фронтенду не збережено. Відкрийте інспектор кожного фронтенд-застосунку, щоб указати його підкаталог і бекенд-сервіси."
4155
4199
  },
4156
4200
  "repoType": "Тип репозиторію",
4157
4201
  "repoTypeHint": "Що це за репозиторій: бекенд-сервіс, фронтенд-застосунок, спільна бібліотека або репозиторій документації (лише документи/спайки)."
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cat-factory/app",
3
- "version": "0.259.3",
3
+ "version": "0.261.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.290.0"
43
+ "@cat-factory/contracts": "0.292.0"
44
44
  },
45
45
  "devDependencies": {
46
46
  "@toad-contracts/testing": "0.3.2",