@cat-factory/app 0.199.0 → 0.200.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 (32) hide show
  1. package/app/components/foundational/FoundationalContractSummary.vue +36 -0
  2. package/app/components/foundational/FoundationalServiceCatalogList.vue +170 -0
  3. package/app/components/foundational/FoundationalServiceManager.vue +111 -0
  4. package/app/components/foundational/FoundationalServicePanel.vue +37 -0
  5. package/app/components/foundational/FoundationalServiceRegistry.vue +339 -0
  6. package/app/components/foundational/FoundationalServiceSources.vue +398 -0
  7. package/app/components/foundational/FoundationalSuppressions.vue +75 -0
  8. package/app/components/layout/AccountFoundationalSettings.vue +25 -0
  9. package/app/components/settings/AccountSettingsPanel.vue +17 -1
  10. package/app/composables/api/foundationalServices.ts +131 -0
  11. package/app/composables/useApi.ts +2 -0
  12. package/app/composables/useNavContributions.ts +1 -0
  13. package/app/composables/usePipelineErrorToast.ts +4 -0
  14. package/app/modular/nav-contributions.spec.ts +6 -0
  15. package/app/modular/nav-contributions.ts +26 -0
  16. package/app/pages/index.vue +4 -0
  17. package/app/stores/foundationalServices.spec.ts +121 -0
  18. package/app/stores/foundationalServices.ts +276 -0
  19. package/app/stores/ui/modals.ts +12 -0
  20. package/app/types/domain.ts +1 -0
  21. package/app/types/foundationalServices.ts +32 -0
  22. package/i18n/locales/de.json +144 -6
  23. package/i18n/locales/en.json +144 -6
  24. package/i18n/locales/es.json +144 -6
  25. package/i18n/locales/fr.json +144 -6
  26. package/i18n/locales/he.json +144 -6
  27. package/i18n/locales/it.json +144 -6
  28. package/i18n/locales/ja.json +144 -6
  29. package/i18n/locales/pl.json +144 -6
  30. package/i18n/locales/tr.json +144 -6
  31. package/i18n/locales/uk.json +144 -6
  32. package/package.json +2 -2
@@ -126,7 +126,8 @@
126
126
  "accountSettings": "Налаштування облікового запису",
127
127
  "operatorDashboard": "Спостережуваність платформи",
128
128
  "reports": "Звіти",
129
- "infrastructure": "Інфраструктура"
129
+ "infrastructure": "Інфраструктура",
130
+ "foundationalServices": "Базові сервіси"
130
131
  },
131
132
  "board": {
132
133
  "toast": {
@@ -544,7 +545,8 @@
544
545
  "pipeline_schedule_attached": "Повторюваний розклад використовує цей конвеєр",
545
546
  "pipeline_schedule_requires_recurring": "Повторюваний розклад потребує цього конвеєра",
546
547
  "pipeline_schedule_intake_unconfigured": "У розкладі немає збору звернень",
547
- "foundational_service_exists": "Базовий сервіс уже існує"
548
+ "foundational_service_exists": "Базовий сервіс уже існує",
549
+ "foundational_service_not_inherited": "Цей сервіс зареєструвала ця дошка"
548
550
  },
549
551
  "description": {
550
552
  "dependencies_unmet": "Це завдання залежить від інших, які ще не завершені. Заверши або розблокуй їх, а потім запусти його знову.",
@@ -573,7 +575,8 @@
573
575
  "pipeline_schedule_attached": "Повторюваний розклад досі посилається на цей конвеєр, і кожен запуск знаходить його за ідентифікатором. Спершу відʼєднайте або видаліть цей розклад, а потім вилучіть конвеєр.",
574
576
  "pipeline_schedule_requires_recurring": "Повторюваний розклад досі посилається на цей конвеєр, тож зробити його лише одноразовим зламало б кожен майбутній запуск. Спершу відʼєднайте цей розклад.",
575
577
  "pipeline_schedule_intake_unconfigured": "Крок збору помилок бере роботу з налаштувань збору звернень у розкладі, а привʼязаний розклад їх не має. Спершу налаштуйте збір звернень у розкладі.",
576
- "foundational_service_exists": "Базовий сервіс із цим ідентифікатором уже зареєстровано в цій області. Відкрийте наявний запис і відредагуйте його — два сервіси не можуть мати спільний ідентифікатор, бо саме його архітектор називає у своєму проєкті."
578
+ "foundational_service_exists": "Базовий сервіс із цим ідентифікатором уже зареєстровано в цій області. Відкрийте наявний запис і відредагуйте його — два сервіси не можуть мати спільний ідентифікатор, бо саме його архітектор називає у своєму проєкті.",
579
+ "foundational_service_not_inherited": "Вимкнення стосується сервісу, успадкованого від облікового запису. Цей ідентифікатор зареєстровано цією дошкою, тож вимикати нічого - натомість видаліть власний запис дошки."
577
580
  },
578
581
  "action": {
579
582
  "connectGitHub": "Під'єднати GitHub",
@@ -2077,7 +2080,8 @@
2077
2080
  "shortcuts": "Комбінації клавіш",
2078
2081
  "bugHunt": "Полювання на помилки",
2079
2082
  "toggleUiMode": "Змінити режим інтерфейсу",
2080
- "tutorial": "Пройти тур"
2083
+ "tutorial": "Пройти тур",
2084
+ "foundationalServices": "Базові сервіси"
2081
2085
  },
2082
2086
  "keywords": {
2083
2087
  "newPipeline": "конвеєр агенти ланцюг pipeline",
@@ -2100,7 +2104,8 @@
2100
2104
  "shortcuts": "комбінації клавіатура клавіші довідка",
2101
2105
  "bugHunt": "помилка баг полювання сортування беклог запити не призначені",
2102
2106
  "toggleUiMode": "інтерфейс режим базовий розширений показати сховати",
2103
- "tutorial": "навчання тур посібник довідка допомога знайомство"
2107
+ "tutorial": "навчання тур посібник довідка допомога знайомство",
2108
+ "foundationalServices": "спільна можливість платформа сервіс api контракт openapi каталог"
2104
2109
  }
2105
2110
  },
2106
2111
  "integrationsHub": {
@@ -2260,6 +2265,9 @@
2260
2265
  "title": "Оберіть типове тестове середовище",
2261
2266
  "body": "Ця дошка ще не визначила, як її сервіси отримують тестове середовище. Оберіть типове значення, і кожен доданий надалі сервіс починатиме з нього, замість налаштування по одному. Для окремого сервісу це завжди можна змінити.",
2262
2267
  "action": "Обрати типове"
2268
+ },
2269
+ "accountFoundational": {
2270
+ "intro": "Спільні можливості, які ця організація вже підтримує - сховище файлів, сповіщення, аудит - разом з їхніми контрактами API. Кожна дошка успадковує їх, а архітектору вказано використовувати їх, а не пропонувати будувати заново."
2263
2271
  }
2264
2272
  },
2265
2273
  "settings": {
@@ -2314,7 +2322,8 @@
2314
2322
  "tabs": {
2315
2323
  "team": "Команда та доступ",
2316
2324
  "fragments": "Фрагменти контексту",
2317
- "skills": "Навички"
2325
+ "skills": "Навички",
2326
+ "foundational": "Базові сервіси"
2318
2327
  }
2319
2328
  },
2320
2329
  "providerConnection": {
@@ -5165,6 +5174,135 @@
5165
5174
  },
5166
5175
  "unavailable": "Бібліотека фрагментів промптів не ввімкнена для цього розгортання."
5167
5176
  },
5177
+ "foundational": {
5178
+ "unavailable": "Каталог базових сервісів не увімкнено в цьому розгортанні.",
5179
+ "owner": {
5180
+ "workspace": "Ця дошка",
5181
+ "account": "Цей обліковий запис"
5182
+ },
5183
+ "tab": {
5184
+ "catalog": "Каталог",
5185
+ "sources": "Приєднані репозиторії"
5186
+ },
5187
+ "panel": {
5188
+ "title": "Базові сервіси",
5189
+ "subtitle": "Спільні можливості, які ваша організація вже підтримує, щоб проєкт використовував їх, а не будував заново."
5190
+ },
5191
+ "tier": {
5192
+ "account": "Обліковий запис",
5193
+ "workspace": "Дошка"
5194
+ },
5195
+ "format": {
5196
+ "openapi": "OpenAPI",
5197
+ "toadContract": "toad-contracts",
5198
+ "lokaliseApiContract": "lokalise/api-contract"
5199
+ },
5200
+ "contracts": {
5201
+ "omitted": "+{count} інших не наведено",
5202
+ "none": "Контракт API не додано. Агенту повідомлять, що інтерфейс невідомий, замість того щоб він його вгадував."
5203
+ },
5204
+ "catalog": {
5205
+ "intro": "Те, що отримує архітектор, який проєктує на цій дошці: ідентичність, теги можливостей і назви операцій. Документи контрактів читаються лише тоді, коли проєкт декларує сервіс.",
5206
+ "empty": "Базових сервісів ще немає. Зареєструйте один нижче або приєднайте репозиторій, який їх описує.",
5207
+ "suppress": "Не пропонувати цей сервіс на цій дошці",
5208
+ "showDocuments": "Показати документи контрактів",
5209
+ "hideDocuments": "Сховати документи контрактів"
5210
+ },
5211
+ "suppressions": {
5212
+ "title": "Вимкнено на цій дошці",
5213
+ "intro": "Ці сервіси облікового запису приховано від проєктів на цій дошці. Нічого не видалено, і обліковий запис зберігає їх для всіх інших дошок.",
5214
+ "restore": "Пропонувати знову",
5215
+ "shadowsNothing": "Наразі під цим ідентифікатором нічого не успадковується, тож це вимкнення зараз нічого не приховує."
5216
+ },
5217
+ "registry": {
5218
+ "empty": "У цій області ще нічого не зареєстровано.",
5219
+ "add": "Зареєструвати сервіс",
5220
+ "addTitle": "Зареєструвати базовий сервіс",
5221
+ "editTitle": "Редагувати базовий сервіс",
5222
+ "edit": "Редагувати",
5223
+ "delete": "Видалити",
5224
+ "save": "Зберегти",
5225
+ "cancel": "Скасувати",
5226
+ "fromSource": "Синхронізовано з приєднаного репозиторію ({path}). Редагуйте його в репозиторії; наступна синхронізація перезапише зміни, зроблені тут.",
5227
+ "idFixed": "ідентифікатор, який архітектор пише у своєму проєкті - незмінний після реєстрації",
5228
+ "idPlaceholder": "ідентифікатор (малі літери й дефіси, напр. file-storage)",
5229
+ "namePlaceholder": "назва (напр. File Storage)",
5230
+ "summaryPlaceholder": "однорядковий опис - для чого він",
5231
+ "descriptionPlaceholder": "що робить, коли його використовувати і чого він НЕ охоплює",
5232
+ "capabilitiesPlaceholder": "теги можливостей через кому (напр. file-storage, cdn)",
5233
+ "contractsTitle": "Контракти API",
5234
+ "contractsKeep": "Залиште без змін, щоб зберегти збережені документи.",
5235
+ "contractsReplace": "Збереження ЗАМІНИТЬ увесь збережений набір тим, що наведено тут.",
5236
+ "addContract": "Додати контракт",
5237
+ "removeContract": "Вилучити цей контракт",
5238
+ "contractIdPlaceholder": "ідентифікатор контракту (малі літери й дефіси, напр. openapi)",
5239
+ "contractTitlePlaceholder": "заголовок (напр. HTTP API)",
5240
+ "contractBodyPlaceholder": "вставте документ: файл OpenAPI 3.x або вихідний код модуля контракту"
5241
+ },
5242
+ "sources": {
5243
+ "empty": "Немає приєднаних репозиторіїв. Приєднайте один нижче, щоб синхронізувати визначення сервісів та їхні файли контрактів.",
5244
+ "linkTitle": "Приєднати репозиторій",
5245
+ "link": "Приєднати та синхронізувати",
5246
+ "metaSynced": "синхронізовано {date} · ref {ref}",
5247
+ "metaNever": "ніколи не синхронізовано · ref {ref}",
5248
+ "metaFiles": "{service} · {count} файлів контрактів",
5249
+ "metaDirectory": "один сервіс на підкаталог",
5250
+ "changes": "Зміни",
5251
+ "check": "Перевірити зміни",
5252
+ "sync": "Синхронізувати знову",
5253
+ "unlink": "Від'єднати",
5254
+ "selectedDir": "Каталог:",
5255
+ "selectedFiles": "Обрані файли: {count}",
5256
+ "wholeRepo": "Увесь репозиторій (корінь).",
5257
+ "ownerPlaceholder": "власник",
5258
+ "repoPlaceholder": "репозиторій",
5259
+ "dirPlaceholder": "шлях каталогу (напр. foundational)",
5260
+ "filePathsPlaceholder": "шляхи до файлів контрактів, по одному в рядку",
5261
+ "refPlaceholder": "ref (типово HEAD)",
5262
+ "githubRequired": "Приєднання репозиторію потребує інтеграції з системою контролю версій. Спершу підключіть її на дошці.",
5263
+ "serviceIdPlaceholder": "ідентифікатор сервісу (малі літери й дефіси)",
5264
+ "serviceNamePlaceholder": "назва сервісу",
5265
+ "serviceSummaryPlaceholder": "однорядковий опис (необов'язково)",
5266
+ "mode": {
5267
+ "directory": "Каталог із сервісами",
5268
+ "files": "Окремі файли, один сервіс",
5269
+ "directoryHint": "Кожен підкаталог приєднаного шляху - це один сервіс, описаний файлом service.md, поруч з яким лежать його файли контрактів.",
5270
+ "filesHint": "Усі перелічені файли описують той єдиний сервіс, який ви тут називаєте. Використовуйте це, коли немає угоди про каталоги."
5271
+ }
5272
+ },
5273
+ "confirmUnlinkSource": {
5274
+ "title": "Від'єднати цей репозиторій?",
5275
+ "body": "\"{repo}\" і синхронізовані з нього сервіси буде вилучено з каталогу. Ви зможете приєднати його пізніше.",
5276
+ "confirm": "Від'єднати"
5277
+ },
5278
+ "confirmDelete": {
5279
+ "title": "Видалити цей сервіс?",
5280
+ "body": "\"{name}\" і завантажені для нього документи контрактів буде вилучено з цієї області.",
5281
+ "bodyWorkspace": "\"{name}\" і завантажені для нього документи контрактів буде вилучено з цієї дошки. Якщо обліковий запис реєструє службу з тим самим id, ця дошка також перестане її успадковувати; скасувати це можна в розділі \"Вимкнено на цій дошці\".",
5282
+ "confirm": "Видалити"
5283
+ },
5284
+ "toast": {
5285
+ "created": "Сервіс зареєстровано",
5286
+ "updated": "Сервіс оновлено",
5287
+ "deleted": "Сервіс видалено",
5288
+ "saveFailed": "Не вдалося зберегти сервіс",
5289
+ "deleteFailed": "Не вдалося видалити сервіс",
5290
+ "suppressed": "Приховано від проєктів на цій дошці",
5291
+ "suppressFailed": "Не вдалося приховати сервіс",
5292
+ "restored": "Знову пропонується на цій дошці",
5293
+ "restoreFailed": "Не вдалося відновити сервіс",
5294
+ "contractsFailed": "Не вдалося завантажити документи контрактів",
5295
+ "sourceLinked": "Репозиторій приєднано та синхронізовано",
5296
+ "linkSourceFailed": "Не вдалося приєднати репозиторій",
5297
+ "synced": "Синхронізовано: {updated} оновлено, {removed} вилучено",
5298
+ "syncFailed": "Не вдалося синхронізувати репозиторій",
5299
+ "changesAvailable": "У джерелі є зміни",
5300
+ "upToDate": "Уже актуально",
5301
+ "checkSourceFailed": "Не вдалося перевірити репозиторій",
5302
+ "sourceUnlinked": "Репозиторій від'єднано",
5303
+ "unlinkSourceFailed": "Не вдалося від'єднати репозиторій"
5304
+ }
5305
+ },
5168
5306
  "sandbox": {
5169
5307
  "title": "Пісочниця: тестування промптів і моделей",
5170
5308
  "description": "Випробовуйте версії промптів і моделі на оцінюваних фікстурах, які оцінює модель-суддя.",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cat-factory/app",
3
- "version": "0.199.0",
3
+ "version": "0.200.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.205.0"
43
+ "@cat-factory/contracts": "0.206.0"
44
44
  },
45
45
  "devDependencies": {
46
46
  "@toad-contracts/testing": "0.3.2",