@cat-factory/app 0.46.9 → 0.46.11
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.
- package/app/components/board/AddTaskModal.vue +106 -88
- package/app/components/board/AgentFailureCard.vue +8 -5
- package/app/components/board/AgentStopButton.vue +8 -5
- package/app/components/board/BoardCanvas.vue +13 -9
- package/app/components/board/RecurringPipelineModal.vue +33 -23
- package/app/components/board/nodes/BlockNode.vue +50 -34
- package/app/components/board/nodes/DecisionBadge.vue +6 -3
- package/app/components/board/nodes/DraggableTask.vue +2 -1
- package/app/components/board/nodes/EpicNode.vue +10 -3
- package/app/components/board/nodes/ModuleFrame.vue +6 -5
- package/app/components/board/nodes/TaskCard.vue +40 -22
- package/app/components/board/nodes/TaskPipelineMini.vue +4 -3
- package/app/components/layout/BoardToolbar.vue +26 -19
- package/app/components/observability/StepMetricsBar.vue +31 -11
- package/app/components/observability/StepModelActivity.vue +3 -2
- package/app/components/panels/AgentStepDetail.vue +52 -39
- package/app/components/panels/DecisionModal.vue +12 -5
- package/app/components/panels/GenericStructuredResultView.vue +16 -6
- package/app/components/panels/InspectorPanel.vue +35 -28
- package/app/components/panels/ObservabilityPanel.vue +92 -49
- package/app/components/panels/StepMetadataCard.vue +87 -30
- package/app/components/panels/StepRestartControl.vue +4 -3
- package/app/components/panels/StepRunMeta.vue +23 -10
- package/app/components/panels/StepTestReport.vue +14 -11
- package/app/components/panels/inspector/ContainerSummary.vue +25 -14
- package/app/components/panels/inspector/EpicChildren.vue +7 -4
- package/app/components/panels/inspector/RecurringScheduleSettings.vue +60 -19
- package/app/components/panels/inspector/ServiceFragments.vue +3 -2
- package/app/components/panels/inspector/ServiceReleaseHealthConfig.vue +18 -13
- package/app/components/panels/inspector/ServiceTestConfig.vue +50 -39
- package/app/components/panels/inspector/TaskAgentConfig.vue +6 -5
- package/app/components/panels/inspector/TaskDependencies.vue +9 -4
- package/app/components/panels/inspector/TaskEstimateBadge.vue +14 -13
- package/app/components/panels/inspector/TaskExecution.vue +65 -31
- package/app/components/panels/inspector/TaskRunSettings.vue +93 -56
- package/app/components/panels/inspector/TaskStructure.vue +5 -4
- package/i18n/locales/en.json +606 -0
- package/i18n/locales/es.json +596 -2
- package/i18n/locales/fr.json +596 -2
- package/i18n/locales/pl.json +596 -2
- package/i18n/locales/uk.json +596 -2
- package/package.json +1 -1
package/i18n/locales/uk.json
CHANGED
|
@@ -13,7 +13,8 @@
|
|
|
13
13
|
"cancel": "Скасувати",
|
|
14
14
|
"retry": "Повторити",
|
|
15
15
|
"actionFailed": "Не вдалося виконати дію",
|
|
16
|
-
"close": "Закрити"
|
|
16
|
+
"close": "Закрити",
|
|
17
|
+
"block": "Блок"
|
|
17
18
|
},
|
|
18
19
|
"nav": {
|
|
19
20
|
"menu": "Меню навігації",
|
|
@@ -38,7 +39,198 @@
|
|
|
38
39
|
"board": {
|
|
39
40
|
"toolbar": {
|
|
40
41
|
"addService": "Додати сервіс",
|
|
41
|
-
"decisionWord": "рішення | рішення | рішень"
|
|
42
|
+
"decisionWord": "рішення | рішення | рішень",
|
|
43
|
+
"lod": {
|
|
44
|
+
"far": "Огляд",
|
|
45
|
+
"mid": "Зведення",
|
|
46
|
+
"close": "Деталі",
|
|
47
|
+
"steps": "Кроки збірки",
|
|
48
|
+
"subtasks": "Підзавдання"
|
|
49
|
+
},
|
|
50
|
+
"spendTitle": "Витрати на токени цього місяця",
|
|
51
|
+
"spendLimitReached": "Досягнуто ліміт витрат: запуски призупинено",
|
|
52
|
+
"serviceAdded": "Додано {title}",
|
|
53
|
+
"serviceAddFailed": "Не вдалося додати сервіс"
|
|
54
|
+
},
|
|
55
|
+
"canvas": {
|
|
56
|
+
"emptyTitle": "Ваша дошка порожня",
|
|
57
|
+
"emptyBody": "Додайте сервіс, щоб почати: ініціалізуйте нове репозиторій або підключіть наявне.",
|
|
58
|
+
"addBlockFailedTitle": "Не вдалося додати блок",
|
|
59
|
+
"addBlockFailedBody": "Бекенд відхилив запит.",
|
|
60
|
+
"dropOntoTaskTitle": "Перетягніть на завдання",
|
|
61
|
+
"dropOntoTaskBody": "Конвеєри виконуються над завданнями, а не над сервісами.",
|
|
62
|
+
"taskBlockedTitle": "Завдання заблоковано",
|
|
63
|
+
"taskBlockedBody": "Його залежності ще не злито."
|
|
64
|
+
},
|
|
65
|
+
"addTask": {
|
|
66
|
+
"title": "Додати завдання",
|
|
67
|
+
"newTaskIn": "Нове завдання в {container}",
|
|
68
|
+
"typeLabel": "Тип",
|
|
69
|
+
"types": {
|
|
70
|
+
"feature": "Функція",
|
|
71
|
+
"bug": "Помилка",
|
|
72
|
+
"document": "Документ",
|
|
73
|
+
"spike": "Spike",
|
|
74
|
+
"recurring": "Періодичне"
|
|
75
|
+
},
|
|
76
|
+
"recurringWithFrame": "Періодичне завдання запускає конвеєр із заданою періодичністю. Продовжте, щоб задати розклад і промпт.",
|
|
77
|
+
"recurringNoFrame": "Періодичне завдання має належати сервісу. Додайте його з рамки сервісу (або модуля всередині неї).",
|
|
78
|
+
"titleField": "Назва",
|
|
79
|
+
"titlePlaceholder": "Що потрібно зробити?",
|
|
80
|
+
"issueIncluded": "{title} (зі звернення, включено)",
|
|
81
|
+
"loadingIssue": "Завантаження опису пов’язаного звернення…",
|
|
82
|
+
"additionalNotes": "Додаткові примітки",
|
|
83
|
+
"description": "Опис",
|
|
84
|
+
"notesPlaceholder": "Додайте все, що агент має знати; це буде додано до опису звернення вище…",
|
|
85
|
+
"descriptionPlaceholder": "Опишіть роботу: контекст, критерії приймання та все, що агент має знати…",
|
|
86
|
+
"technical": "Технічне завдання",
|
|
87
|
+
"technicalHint": "Рефакторинг / нефункціональна / внутрішня зміна. Реалізатор вважає визначення завдання основним, а специфікацію — регресійним орієнтиром; залиште вимкненим, щоб вирішила фаза специфікації.",
|
|
88
|
+
"severity": "Серйозність",
|
|
89
|
+
"stepsToReproduce": "Кроки відтворення",
|
|
90
|
+
"stepsToReproducePlaceholder": "Спостережуване vs очікуване та як відтворити…",
|
|
91
|
+
"timebox": "Ліміт часу (години)",
|
|
92
|
+
"timeboxPlaceholder": "напр. 8",
|
|
93
|
+
"documentKind": "Тип документа",
|
|
94
|
+
"audience": "Аудиторія",
|
|
95
|
+
"audiencePlaceholder": "напр. інженери платформи",
|
|
96
|
+
"targetPath": "Цільовий шлях",
|
|
97
|
+
"targetPathPlaceholder": "напр. docs/rfcs/0001-foo.md",
|
|
98
|
+
"outlineHints": "Підказки для плану",
|
|
99
|
+
"outlineHintsPlaceholder": "Розділи або пункти, які має охопити документ",
|
|
100
|
+
"optional": "необов’язково",
|
|
101
|
+
"pipeline": "Конвеєр",
|
|
102
|
+
"chooseAtRunTime": "Обрати під час запуску",
|
|
103
|
+
"mergePolicy": "Політика злиття",
|
|
104
|
+
"workspaceDefault": "Типове для робочого простору",
|
|
105
|
+
"defaultPreset": "Типовий ({name}): {thresholds}",
|
|
106
|
+
"defaultModelPreset": "Типовий ({name})",
|
|
107
|
+
"modelPreset": "Пресет моделі",
|
|
108
|
+
"agentConfiguration": "Налаштування агента",
|
|
109
|
+
"contextDocuments": "Документи контексту",
|
|
110
|
+
"contextIssues": "Звернення контексту",
|
|
111
|
+
"attach": "Прикріпити",
|
|
112
|
+
"done": "Готово",
|
|
113
|
+
"attachDocDisabledConnect": "Спочатку підключіть джерело документів (Інтеграції)",
|
|
114
|
+
"attachDocDisabledEnable": "Спочатку увімкніть інтеграцію документів",
|
|
115
|
+
"attachIssueDisabledConnect": "Спочатку підключіть трекер звернень (Інтеграції)",
|
|
116
|
+
"attachIssueDisabledEnable": "Спочатку увімкніть інтеграцію трекера звернень",
|
|
117
|
+
"importsOnAdd": "імпортується при додаванні",
|
|
118
|
+
"noDocsHint": "Прикріпіть вимогу, RFC або PRD, щоб агенти бачили це під час реалізації завдання.",
|
|
119
|
+
"noIssuesHint": "Прикріпіть звернення з трекера, щоб агенти бачили його опис і коментарі під час реалізації завдання.",
|
|
120
|
+
"plannedHint": "Завдання додається у запланованому стані. Воно не запуститься, доки ви не запустите на ньому конвеєр; до того часу його можна редагувати.",
|
|
121
|
+
"continue": "Продовжити",
|
|
122
|
+
"submit": "Додати завдання",
|
|
123
|
+
"addFailedTitle": "Не вдалося додати завдання",
|
|
124
|
+
"linkFailed": "Завдання додано, але не вдалося прив’язати {count} вкладення | Завдання додано, але не вдалося прив’язати {count} вкладення | Завдання додано, але не вдалося прив’язати {count} вкладень"
|
|
125
|
+
},
|
|
126
|
+
"recurring": {
|
|
127
|
+
"title": "Додати періодичний конвеєр",
|
|
128
|
+
"on": "Періодичний конвеєр на {frame}",
|
|
129
|
+
"name": "Назва",
|
|
130
|
+
"namePlaceholder": "напр. Щотижневі оновлення залежностей",
|
|
131
|
+
"pipeline": "Конвеєр",
|
|
132
|
+
"pickPipeline": "Оберіть конвеєр",
|
|
133
|
+
"prompt": "Промпт",
|
|
134
|
+
"promptPlaceholder": "Що має робити кожен запуск? Опишіть роботу, той самий промпт, що й звичайне завдання. Залиште порожнім, щоб використати типовий для конвеєра.",
|
|
135
|
+
"issueTracker": "Трекер звернень",
|
|
136
|
+
"issueTrackerHint": "Конвеєр технічного боргу створює звернення за результатами аналізу перед реалізацією. Оберіть де (зберігається для всього робочого простору).",
|
|
137
|
+
"githubIssues": "GitHub Issues",
|
|
138
|
+
"jira": "Jira",
|
|
139
|
+
"linear": "Linear",
|
|
140
|
+
"jiraProjectKey": "Ключ проєкту Jira",
|
|
141
|
+
"jiraProjectKeyPlaceholder": "напр. ENG",
|
|
142
|
+
"linearTeamId": "ID команди Linear",
|
|
143
|
+
"footerHint": "У сервісі додається одне періодичне завдання; кожен запуск замінює попередній. Його історія запусків доступна в інспекторі.",
|
|
144
|
+
"submit": "Додати періодичний конвеєр",
|
|
145
|
+
"addFailedTitle": "Не вдалося додати періодичний конвеєр"
|
|
146
|
+
},
|
|
147
|
+
"failure": {
|
|
148
|
+
"containerFailedToStart": "Не вдалося запустити контейнер",
|
|
149
|
+
"bootstrapFailed": "Не вдалося ініціалізувати",
|
|
150
|
+
"runFailed": "Запуск не вдався",
|
|
151
|
+
"retryBootstrap": "Повторити ініціалізацію",
|
|
152
|
+
"retryRun": "Повторити запуск",
|
|
153
|
+
"showDetail": "Показати деталі",
|
|
154
|
+
"retrying": "Повторення…"
|
|
155
|
+
},
|
|
156
|
+
"stop": {
|
|
157
|
+
"label": "Зупинити",
|
|
158
|
+
"bootstrapStopped": "Ініціалізацію зупинено",
|
|
159
|
+
"runStopped": "Запуск зупинено",
|
|
160
|
+
"stoppedDescription": "Контейнер було зупинено, а запуск скасовано.",
|
|
161
|
+
"stopFailed": "Не вдалося зупинити"
|
|
162
|
+
},
|
|
163
|
+
"frame": {
|
|
164
|
+
"status": {
|
|
165
|
+
"planned": "Немає завдань",
|
|
166
|
+
"ready": "Активно",
|
|
167
|
+
"in_progress": "Активно",
|
|
168
|
+
"blocked": "Потребує уваги",
|
|
169
|
+
"pr_ready": "Активно",
|
|
170
|
+
"done": "Активно"
|
|
171
|
+
},
|
|
172
|
+
"shared": "Спільне",
|
|
173
|
+
"sharedTitle": "Спільне для робочих просторів цієї організації",
|
|
174
|
+
"bootstrapping": "Ініціалізація…",
|
|
175
|
+
"bootstrappingRepository": "Ініціалізація репозиторію…",
|
|
176
|
+
"bootstrapStepsCount": "{completed}/{total} кроків",
|
|
177
|
+
"runFailed": "Запуск не вдався",
|
|
178
|
+
"mergedOfTotal": "{merged}/{total} злито",
|
|
179
|
+
"noTasksYet": "Поки немає завдань",
|
|
180
|
+
"prCount": "{count} PR",
|
|
181
|
+
"implemented": "{merged}/{total} реалізовано",
|
|
182
|
+
"prReadyCount": "{count} PR готово",
|
|
183
|
+
"taskCount": "{count} завдання | {count} завдання | {count} завдань",
|
|
184
|
+
"moduleCount": "{count} модуль | {count} модулі | {count} модулів",
|
|
185
|
+
"addTaskTitle": "Додати завдання",
|
|
186
|
+
"createTaskFromIssueTitle": "Створити завдання зі звернення",
|
|
187
|
+
"addRecurringTitle": "Додати періодичний конвеєр",
|
|
188
|
+
"collapseTitle": "Згорнути",
|
|
189
|
+
"dragService": "Перетягнути сервіс",
|
|
190
|
+
"dragTask": "Перетягнути завдання",
|
|
191
|
+
"dragToResize": "Перетягніть, щоб змінити розмір",
|
|
192
|
+
"addFirstTask": "Додати перше завдання"
|
|
193
|
+
},
|
|
194
|
+
"decisionBadge": {
|
|
195
|
+
"decisionNeeded": "Потрібне рішення",
|
|
196
|
+
"approvalNeeded": "Потрібне затвердження"
|
|
197
|
+
},
|
|
198
|
+
"task": {
|
|
199
|
+
"recurringPipeline": "Періодичний конвеєр",
|
|
200
|
+
"recurringPipelinePaused": "Періодичний конвеєр (призупинено)",
|
|
201
|
+
"dragToConnect": "Перетягніть на інше завдання, щоб воно залежало від цього",
|
|
202
|
+
"failed": "Не вдалося",
|
|
203
|
+
"decisionNeeded": "Потрібне рішення",
|
|
204
|
+
"approvalNeeded": "Потрібне затвердження",
|
|
205
|
+
"resolve": "Вирішити",
|
|
206
|
+
"approve": "Затвердити",
|
|
207
|
+
"incorporatingAnswers": "Включення відповідей…",
|
|
208
|
+
"reReviewing": "Повторний огляд…",
|
|
209
|
+
"recommending": "Рекомендування…",
|
|
210
|
+
"starting": "Запуск…",
|
|
211
|
+
"start": "Запустити",
|
|
212
|
+
"blocked": "Заблоковано",
|
|
213
|
+
"startPipeline": "Запустити {name}",
|
|
214
|
+
"pipelineFallback": "конвеєр",
|
|
215
|
+
"waitingOn": "Очікування на: {deps}",
|
|
216
|
+
"blockedByDependenciesTitle": "Заблоковано залежностями",
|
|
217
|
+
"noPipelineTitle": "Конвеєр не визначено",
|
|
218
|
+
"noPipelineBody": "Спочатку створіть його в конструкторі.",
|
|
219
|
+
"pr": "PR",
|
|
220
|
+
"prNumber": "PR #{number}",
|
|
221
|
+
"openPrOnGithub": "Відкрити {pr} на GitHub",
|
|
222
|
+
"review": "Переглянути",
|
|
223
|
+
"merge": "Злити",
|
|
224
|
+
"implemented": "реалізовано",
|
|
225
|
+
"module": "Модуль: {name}",
|
|
226
|
+
"buildSteps": "Кроки збірки",
|
|
227
|
+
"reviewAndApprove": "Переглянути та затвердити",
|
|
228
|
+
"clickToViewStep": "Натисніть, щоб переглянути деталі та результат кроку"
|
|
229
|
+
},
|
|
230
|
+
"epic": {
|
|
231
|
+
"label": "Епік",
|
|
232
|
+
"activeCount": "{count} активних",
|
|
233
|
+
"noTasksYet": "Поки немає завдань"
|
|
42
234
|
}
|
|
43
235
|
},
|
|
44
236
|
"errors": {
|
|
@@ -116,5 +308,407 @@
|
|
|
116
308
|
"step3": "Скопіюйте весь вміст auth.json, вставте його нижче та виберіть особистий пароль для його захисту."
|
|
117
309
|
}
|
|
118
310
|
}
|
|
311
|
+
},
|
|
312
|
+
"inspector": {
|
|
313
|
+
"container": {
|
|
314
|
+
"modules": "Модулі ({count})",
|
|
315
|
+
"taskCount": "{count} завдання | {count} завдання | {count} завдань",
|
|
316
|
+
"allTasks": "Усі завдання ({count})",
|
|
317
|
+
"tasks": "Завдання ({count})",
|
|
318
|
+
"addTask": "Додати завдання",
|
|
319
|
+
"noTasks": "Завдань ще немає. Додайте одне, щоб почати роботу.",
|
|
320
|
+
"servicesHint": "Сервіси довготривалі й не завершуються. Робота відбувається в їхніх завданнях і модулях."
|
|
321
|
+
},
|
|
322
|
+
"epicChildren": {
|
|
323
|
+
"title": "Завдання епіка",
|
|
324
|
+
"doneCount": "{done}/{total} виконано",
|
|
325
|
+
"empty": "Жодне завдання ще не належить цьому епіку. Імпортуйте дочірні елементи епіка або вкажіть епік завдання.",
|
|
326
|
+
"unassigned": "Не призначено"
|
|
327
|
+
},
|
|
328
|
+
"recurring": {
|
|
329
|
+
"title": "Періодичний конвеєр",
|
|
330
|
+
"active": "Активний",
|
|
331
|
+
"paused": "Призупинено",
|
|
332
|
+
"intervalDays": "{count}д",
|
|
333
|
+
"intervalHours": "{count}год",
|
|
334
|
+
"anyDay": "будь-який день",
|
|
335
|
+
"cadence": "Кожні {every} · {days}{window} · {timezone}",
|
|
336
|
+
"weekdays": {
|
|
337
|
+
"sun": "Нд",
|
|
338
|
+
"mon": "Пн",
|
|
339
|
+
"tue": "Вт",
|
|
340
|
+
"wed": "Ср",
|
|
341
|
+
"thu": "Чт",
|
|
342
|
+
"fri": "Пт",
|
|
343
|
+
"sat": "Сб"
|
|
344
|
+
},
|
|
345
|
+
"nextRun": "Наступний запуск: {time}",
|
|
346
|
+
"runNow": "Запустити зараз",
|
|
347
|
+
"pause": "Призупинити",
|
|
348
|
+
"resume": "Відновити",
|
|
349
|
+
"editCadence": "Редагувати розклад",
|
|
350
|
+
"recentRuns": "Останні запуски",
|
|
351
|
+
"runStatus": {
|
|
352
|
+
"running": "Виконується",
|
|
353
|
+
"done": "Готово",
|
|
354
|
+
"failed": "Помилка",
|
|
355
|
+
"skipped": "Пропущено"
|
|
356
|
+
},
|
|
357
|
+
"updateFailed": "Не вдалося оновити розклад",
|
|
358
|
+
"runNowFailed": "Не вдалося запустити зараз"
|
|
359
|
+
},
|
|
360
|
+
"fragments": {
|
|
361
|
+
"serviceTitle": "Найкращі практики сервісу",
|
|
362
|
+
"serviceEmpty": "Немає. Агенти, що працюють з кодом цього сервісу, дотримуються типових інструкцій."
|
|
363
|
+
},
|
|
364
|
+
"releaseHealth": {
|
|
365
|
+
"title": "Стан після релізу",
|
|
366
|
+
"clear": "Очистити",
|
|
367
|
+
"connectPrompt": "Підключіть інтеграцію спостережуваності, щоб стежити за цим сервісом після релізів.",
|
|
368
|
+
"connectFirst": "Спочатку підключіть інтеграцію спостережуваності",
|
|
369
|
+
"connect": "Підключити",
|
|
370
|
+
"hint": "Монітори та SLO, за якими стежить гейт після випуску цього сервісу. Розділяйте id комами.",
|
|
371
|
+
"monitorIds": "Id моніторів",
|
|
372
|
+
"sloIds": "Id SLO",
|
|
373
|
+
"envTag": "Тег середовища (необов'язково)",
|
|
374
|
+
"saveMonitoring": "Зберегти моніторинг",
|
|
375
|
+
"savedToast": "Моніторинг збережено",
|
|
376
|
+
"saveFailed": "Не вдалося зберегти зіставлення",
|
|
377
|
+
"clearFailed": "Не вдалося очистити зіставлення"
|
|
378
|
+
},
|
|
379
|
+
"testConfig": {
|
|
380
|
+
"title": "Тестова інфраструктура",
|
|
381
|
+
"defaultEnv": "Типове тестове середовище",
|
|
382
|
+
"defaultEnvHint": "Середовище, з яким за замовчуванням створюються завдання цього сервісу. Кожне завдання може перевизначити його в налаштуваннях агента.",
|
|
383
|
+
"env": {
|
|
384
|
+
"ephemeral": "Тимчасове середовище",
|
|
385
|
+
"ephemeralHint": "тести виконуються в наданому середовищі",
|
|
386
|
+
"local": "Локально (docker-compose)",
|
|
387
|
+
"localHint": "Тестувальник піднімає залежності локально"
|
|
388
|
+
},
|
|
389
|
+
"composePath": "Шлях docker-compose",
|
|
390
|
+
"browseRepo": "Переглянути репозиторій у пошуках файлу compose",
|
|
391
|
+
"composeHint": "Використовується Тестувальником, щоб локально підняти залежності сервісу.",
|
|
392
|
+
"selectComposeTitle": "Виберіть файл docker-compose",
|
|
393
|
+
"selectComposeHint": "Виберіть файл compose у репозиторії. Його шлях зберігається відносно кореня репозиторію.",
|
|
394
|
+
"selected": "Вибрано: {path}",
|
|
395
|
+
"noFileSelected": "Файл не вибрано.",
|
|
396
|
+
"useThisFile": "Використати цей файл",
|
|
397
|
+
"noInfra": "Без інфраструктурних залежностей (Тестувальник нічого не піднімає)",
|
|
398
|
+
"missingInfra": "Вкажіть шлях docker-compose або увімкніть відсутність інфраструктурних залежностей, інакше конвеєр з Тестувальником не запуститься.",
|
|
399
|
+
"provisioningTitle": "Надання тимчасового середовища",
|
|
400
|
+
"provisioningHint": "Підказка для надання тимчасового тестового середовища цього сервісу: до якого хмарного провайдера розгортати та яку величину інстансу запитувати. Ігнорується для локального (docker-compose) тестування.",
|
|
401
|
+
"cloudProvider": "Хмарний провайдер",
|
|
402
|
+
"instanceSize": "Розмір інстансу",
|
|
403
|
+
"providers": {
|
|
404
|
+
"docker": "Docker (локально)",
|
|
405
|
+
"custom": "Власний"
|
|
406
|
+
},
|
|
407
|
+
"sizes": {
|
|
408
|
+
"small": "Малий",
|
|
409
|
+
"medium": "Середній",
|
|
410
|
+
"large": "Великий",
|
|
411
|
+
"xlarge": "Дуже великий"
|
|
412
|
+
}
|
|
413
|
+
},
|
|
414
|
+
"agentConfig": {
|
|
415
|
+
"title": "Конфігурація агента",
|
|
416
|
+
"inherited": "успадковано від сервісу",
|
|
417
|
+
"frozen": "Заморожено: агент уже стартував"
|
|
418
|
+
},
|
|
419
|
+
"dependencies": {
|
|
420
|
+
"title": "Залежить від",
|
|
421
|
+
"merged": "Злито",
|
|
422
|
+
"notMerged": "Ще не злито",
|
|
423
|
+
"empty": "Залежностей немає. Можна запускати будь-коли.",
|
|
424
|
+
"blocked": "Заблоковано до злиття залежностей."
|
|
425
|
+
},
|
|
426
|
+
"estimate": {
|
|
427
|
+
"title": "Оцінка",
|
|
428
|
+
"complexity": "Складність",
|
|
429
|
+
"risk": "Ризик",
|
|
430
|
+
"impact": "Вплив"
|
|
431
|
+
},
|
|
432
|
+
"execution": {
|
|
433
|
+
"stage": {
|
|
434
|
+
"incorporating": "Внесення…",
|
|
435
|
+
"reviewing": "Повторний огляд…",
|
|
436
|
+
"recommending": "Рекомендування…"
|
|
437
|
+
},
|
|
438
|
+
"prNumber": "PR #{number}",
|
|
439
|
+
"pullRequest": "Pull request",
|
|
440
|
+
"stepState": {
|
|
441
|
+
"pending": "Очікує",
|
|
442
|
+
"working": "Працює",
|
|
443
|
+
"waiting_decision": "Потрібне рішення",
|
|
444
|
+
"done": "Готово"
|
|
445
|
+
},
|
|
446
|
+
"failed": "Помилка",
|
|
447
|
+
"needsDecision": "Потрібне рішення",
|
|
448
|
+
"needsApproval": "Потрібне затвердження",
|
|
449
|
+
"spinningUp": "Запуск…",
|
|
450
|
+
"stop": "Зупинити",
|
|
451
|
+
"stopTooltip": "Зупинити запуск, але зберегти його (доступний для читання та повтору)",
|
|
452
|
+
"reset": "Скинути",
|
|
453
|
+
"resetTooltip": "Відкинути цей запуск і повернути завдання до запланованого",
|
|
454
|
+
"viewDetailsOutput": "Переглянути деталі та прочитати вивід",
|
|
455
|
+
"viewDetails": "Переглянути деталі кроку",
|
|
456
|
+
"companion": "Компаньйон",
|
|
457
|
+
"companionTooltip": "Компаньйон кроку-виробника",
|
|
458
|
+
"subtasksProgress": "{completed} з {total} підзавдань виконано, {inProgress} у процесі",
|
|
459
|
+
"subtasksDone": "{completed} з {total} підзавдань виконано",
|
|
460
|
+
"resolve": "Вирішити",
|
|
461
|
+
"decide": "Вирішити",
|
|
462
|
+
"review": "Огляд",
|
|
463
|
+
"approve": "Затвердити",
|
|
464
|
+
"fragmentsTooltip": "Фрагменти найкращих практик, додані до цього кроку: {fragments}",
|
|
465
|
+
"standardsApplied": "Застосовано {count} стандарт | Застосовано {count} стандарти | Застосовано {count} стандартів",
|
|
466
|
+
"companionOf": "{label} (компаньйон)",
|
|
467
|
+
"merged": "Злито",
|
|
468
|
+
"open": "Відкрито",
|
|
469
|
+
"mergePr": "Злити PR"
|
|
470
|
+
},
|
|
471
|
+
"structure": {
|
|
472
|
+
"module": "Модуль",
|
|
473
|
+
"modulePlaceholder": "напр. Сесії (створюється під час реалізації, якщо новий)",
|
|
474
|
+
"bestPractices": "Найкращі практики",
|
|
475
|
+
"bestPracticesEmpty": "Немає. Агенти дотримуються типових інструкцій."
|
|
476
|
+
},
|
|
477
|
+
"runSettings": {
|
|
478
|
+
"unassigned": "Не призначено",
|
|
479
|
+
"workspaceDefault": "Типово для робочого простору",
|
|
480
|
+
"workspaceDefaultParen": "(типово для робочого простору)",
|
|
481
|
+
"defaultPresetThresholds": "Типовий ({name}): {thresholds}",
|
|
482
|
+
"defaultPreset": "Типовий ({name})",
|
|
483
|
+
"noDefault": "Без типового",
|
|
484
|
+
"inheritWorkspace": "Успадкувати від робочого простору",
|
|
485
|
+
"on": "Увімк.",
|
|
486
|
+
"off": "Вимк.",
|
|
487
|
+
"inheritOn": "Успадкувати (увімк.)",
|
|
488
|
+
"inheritOff": "Успадкувати (вимк.)",
|
|
489
|
+
"technical": {
|
|
490
|
+
"unset": "Не задано (автовизначення)",
|
|
491
|
+
"technical": "Технічне",
|
|
492
|
+
"business": "Бізнесове"
|
|
493
|
+
},
|
|
494
|
+
"pipeline": "Конвеєр",
|
|
495
|
+
"pipelineEmpty": "Без типового. Виберіть конвеєр під час запуску цього завдання.",
|
|
496
|
+
"mergePolicy": "Політика злиття",
|
|
497
|
+
"mergePresetDetail": "{name}: автозлиття, коли складність ≤ {complexity}, ризик ≤ {risk}, вплив ≤ {impact}; до {attempts} спроб виправлення CI.",
|
|
498
|
+
"mergePresetEmpty": "Пресет не налаштовано. Зливач створює сповіщення про огляд для кожного PR.",
|
|
499
|
+
"modelPreset": "Пресет моделі",
|
|
500
|
+
"modelPresetBase": "база {model}",
|
|
501
|
+
"modelPresetOverrides": ", {count} перевизначення | , {count} перевизначення | , {count} перевизначень",
|
|
502
|
+
"modelPresetEmpty": "Пресет не налаштовано. Агенти працюють на типовій маршрутизації розгортання.",
|
|
503
|
+
"unavailableModels": "Недоступно за поточної конфігурації: {models}. Це завдання зазнало б помилки на цих кроках.",
|
|
504
|
+
"editPresets": "Редагувати пресети",
|
|
505
|
+
"configureVendors": "Налаштувати постачальників",
|
|
506
|
+
"modelPresetChangeHint": "Ця зміна впливає лише на кроки, що ще не розпочалися.",
|
|
507
|
+
"taskKind": "Тип завдання",
|
|
508
|
+
"technicalHint": {
|
|
509
|
+
"technical": "Технічне: реалізатор вважає визначення завдання головним, а специфікацію — регресійним орієнтиром; автор специфікацій може не створювати бізнес-специфікацій.",
|
|
510
|
+
"business": "Бізнесове: як завжди, веде специфікація.",
|
|
511
|
+
"unset": "Автовизначення: виводиться з фази специфікації. Задайте явно, щоб перевизначити."
|
|
512
|
+
},
|
|
513
|
+
"issueWriteback": "Зворотний запис у задачу",
|
|
514
|
+
"commentOnPrOpen": "Коментувати при відкритті PR",
|
|
515
|
+
"closeOnMerge": "Закрити при злитті",
|
|
516
|
+
"writebackHint": "Записує назад до пов'язаної задачі трекера цього завдання. Перевизначає типове для робочого простору.",
|
|
517
|
+
"responsibleProduct": "Відповідальний продукт",
|
|
518
|
+
"responsibleEmpty": "Не призначено. Призначте власника продукту, щоб сповіщати його, коли огляд вимог позначає це завдання.",
|
|
519
|
+
"autoStartDependents": "Автозапуск залежних",
|
|
520
|
+
"autoStartHint": "Коли це завдання зливається, автоматично запускати завдання, що залежать від нього (щойно їхні інші залежності також виконано)."
|
|
521
|
+
}
|
|
522
|
+
},
|
|
523
|
+
"panels": {
|
|
524
|
+
"decision": {
|
|
525
|
+
"title": "Потрібне рішення",
|
|
526
|
+
"agentOnBlock": "{agent} на {block}",
|
|
527
|
+
"visualizationHint": "Це візуалізація. Будь-який вибір просто відновлює конвеєр."
|
|
528
|
+
},
|
|
529
|
+
"stepRestart": {
|
|
530
|
+
"restartFromStep": "Перезапустити конвеєр із цього кроку",
|
|
531
|
+
"restartFromHere": "Перезапустити звідси"
|
|
532
|
+
},
|
|
533
|
+
"structuredResult": {
|
|
534
|
+
"fallbackTitle": "Результат агента",
|
|
535
|
+
"titleWithBlock": "{label}: {title}",
|
|
536
|
+
"fallbackDescription": "Структурований вивід агента",
|
|
537
|
+
"structuredOutput": "Структурований вивід",
|
|
538
|
+
"noResult": "Результату ще немає.",
|
|
539
|
+
"noResultHint": "Структурований вивід з'являється, щойно агент завершить роботу. Поки він працює, крок показує живий прогрес на дошці."
|
|
540
|
+
},
|
|
541
|
+
"testReport": {
|
|
542
|
+
"title": "Звіт про тестування",
|
|
543
|
+
"greenlit": "Схвалено",
|
|
544
|
+
"needsFixes": "Потребує виправлень",
|
|
545
|
+
"fixAttempts": "{count}/{max} спроб виправлення",
|
|
546
|
+
"fixing": "· виправлення…",
|
|
547
|
+
"tested": "Протестовано",
|
|
548
|
+
"outcomes": "Результати",
|
|
549
|
+
"concerns": "Зауваження"
|
|
550
|
+
},
|
|
551
|
+
"stepMeta": {
|
|
552
|
+
"stateLabel": "Стан",
|
|
553
|
+
"duration": "Тривалість",
|
|
554
|
+
"elapsed": "минуло",
|
|
555
|
+
"step": "Крок",
|
|
556
|
+
"stepOf": "{number} з {total}",
|
|
557
|
+
"started": "Розпочато",
|
|
558
|
+
"finished": "Завершено",
|
|
559
|
+
"model": "Модель",
|
|
560
|
+
"notRecorded": "Не записано",
|
|
561
|
+
"run": "Запуск",
|
|
562
|
+
"clickToCopy": "{id} (натисніть, щоб скопіювати)",
|
|
563
|
+
"spinningUpContainer": "Запуск контейнера…",
|
|
564
|
+
"subtasks": "Підзавдання · {completed}/{total}",
|
|
565
|
+
"standardsApplied": "Застосовані стандарти",
|
|
566
|
+
"decision": "Рішення",
|
|
567
|
+
"awaitingChoice": "Очікування вибору людини",
|
|
568
|
+
"approvalGate": "Гейт затвердження",
|
|
569
|
+
"companionReview": "Огляд компаньйона",
|
|
570
|
+
"correctionIterations": "{count} ітерація виправлення. | {count} ітерації виправлення. | {count} ітерацій виправлення.",
|
|
571
|
+
"state": {
|
|
572
|
+
"pending": "Очікує",
|
|
573
|
+
"working": "Працює",
|
|
574
|
+
"waiting_decision": "Потрібен ввід",
|
|
575
|
+
"done": "Готово",
|
|
576
|
+
"failed": "Помилка"
|
|
577
|
+
},
|
|
578
|
+
"approvalStatus": {
|
|
579
|
+
"pending": "Очікує",
|
|
580
|
+
"approved": "Затверджено",
|
|
581
|
+
"changes_requested": "Запитано зміни",
|
|
582
|
+
"rejected": "Відхилено"
|
|
583
|
+
}
|
|
584
|
+
},
|
|
585
|
+
"stepDetail": {
|
|
586
|
+
"contents": "Зміст",
|
|
587
|
+
"details": "Деталі",
|
|
588
|
+
"approvalRequired": "Потрібне затвердження",
|
|
589
|
+
"decisionRequired": "Потрібне рішення",
|
|
590
|
+
"expandAll": "Розгорнути всі розділи",
|
|
591
|
+
"collapseAll": "Згорнути всі розділи",
|
|
592
|
+
"copyRawOutput": "Скопіювати сирий вивід",
|
|
593
|
+
"closeEsc": "Закрити (Esc)",
|
|
594
|
+
"companionCapHeading": "{agent} досяг ліміту в {attempts} спроб переробки, усе ще нижче планки {threshold}.",
|
|
595
|
+
"companionCapDetail": "Виконайте ще один автоматичний раунд переробки, перейдіть до наступного кроку, прийнявши поточний вивід, або зупиніться та скиньте завдання, щоб відредагувати вхідні дані й надіслати повторно.",
|
|
596
|
+
"infraAttempts": "Спроби інфраструктури",
|
|
597
|
+
"hideInfraAttempts": "Приховати спроби інфраструктури",
|
|
598
|
+
"editingConclusions": "Редагування висновків",
|
|
599
|
+
"editConclusionsPlaceholder": "Відредагуйте висновки агента; ваші зміни зберігаються після затвердження…",
|
|
600
|
+
"noProseOutput": "Цей агент не створив текстового виводу.",
|
|
601
|
+
"approveWithCorrections": "Затвердити з виправленнями",
|
|
602
|
+
"reviewAndApprove": "Переглянути та затвердити",
|
|
603
|
+
"editHint": "Відредагуйте висновки ліворуч; ваші зміни зберігаються після затвердження.",
|
|
604
|
+
"reviewHint": "Натисніть будь-який блок у виводі, щоб прокоментувати його, або залиште загальний відгук нижче.",
|
|
605
|
+
"editingNotice": "Ви редагуєте висновки безпосередньо. Ручні зміни не можна поєднати з коментарями по блоках. Затвердіть, щоб зберегти їх, або скасуйте, щоб повернутися до огляду.",
|
|
606
|
+
"commentingOn": "Коментування",
|
|
607
|
+
"commentPlaceholder": "Залиште коментар до цього блоку…",
|
|
608
|
+
"addComment": "Додати коментар",
|
|
609
|
+
"commentN": "Коментар {number}",
|
|
610
|
+
"removeComment": "Видалити коментар",
|
|
611
|
+
"overallFeedback": "Загальний відгук / причина відхилення",
|
|
612
|
+
"overallFeedbackPlaceholder": "Опишіть зміни, які агент має внести (необов'язково, якщо ви залишили коментарі по блоках)…",
|
|
613
|
+
"approveWithEdits": "Затвердити з цими змінами",
|
|
614
|
+
"cancelEdits": "Скасувати зміни",
|
|
615
|
+
"approveAndProceed": "Затвердити та продовжити",
|
|
616
|
+
"rejectConfirmPrompt": "Відхилити цю пропозицію та повністю зупинити запуск?",
|
|
617
|
+
"confirmReject": "Підтвердити відхилення",
|
|
618
|
+
"requestChanges": "Запросити зміни",
|
|
619
|
+
"reject": "Відхилити",
|
|
620
|
+
"requestChangesHint": "Запит змін перезапускає цей крок з вашим відгуком і коментарями. Відхилення повністю зупиняє запуск."
|
|
621
|
+
},
|
|
622
|
+
"inspector": {
|
|
623
|
+
"frameStatus": {
|
|
624
|
+
"planned": "Немає завдань",
|
|
625
|
+
"ready": "Активний",
|
|
626
|
+
"in_progress": "Активний",
|
|
627
|
+
"blocked": "Потребує уваги",
|
|
628
|
+
"pr_ready": "Активний",
|
|
629
|
+
"done": "Активний"
|
|
630
|
+
},
|
|
631
|
+
"deleteRecurringPipeline": "Видалити періодичний конвеєр",
|
|
632
|
+
"deleteTask": "Видалити завдання",
|
|
633
|
+
"deleteModule": "Видалити модуль",
|
|
634
|
+
"deleteService": "Видалити сервіс",
|
|
635
|
+
"titlePlaceholder": "Назва…",
|
|
636
|
+
"reworkedRequirements": "Перероблені вимоги",
|
|
637
|
+
"agentStepsUseDocument": "Кроки агента використовують цей документ.",
|
|
638
|
+
"open": "Відкрити",
|
|
639
|
+
"originalDescriptionFrozen": "Початковий опис (заморожено)",
|
|
640
|
+
"noDescription": "Без опису",
|
|
641
|
+
"describeBlock": "Опишіть цей блок…",
|
|
642
|
+
"taskStartedLocked": "Це завдання стартувало. Його деталі заблоковано.",
|
|
643
|
+
"lastIncorporatedRequirements": "Останні внесені вимоги",
|
|
644
|
+
"priorDocHint": "З попереднього огляду. Використайте його як основу: відредагуйте опис вище та надішліть повторно.",
|
|
645
|
+
"bootstrapping": "Ініціалізація…",
|
|
646
|
+
"importIssue": "Імпортувати задачу",
|
|
647
|
+
"connectTracker": "Підключити трекер",
|
|
648
|
+
"spawnFromDocument": "Створити з документа",
|
|
649
|
+
"viewRequirements": "Переглянути вимоги",
|
|
650
|
+
"reRun": "Перезапустити",
|
|
651
|
+
"run": "Запустити",
|
|
652
|
+
"focus": "Фокус"
|
|
653
|
+
}
|
|
654
|
+
},
|
|
655
|
+
"observability": {
|
|
656
|
+
"modelActivity": "Активність моделі",
|
|
657
|
+
"viewAllCalls": "Переглянути всі виклики →",
|
|
658
|
+
"providedContext": "Наданий контекст",
|
|
659
|
+
"exportJson": "Експортувати JSON",
|
|
660
|
+
"exportHint": "Завантажити зручний для LLM JSON-експорт цього запуску",
|
|
661
|
+
"closeEsc": "Закрити (Esc)",
|
|
662
|
+
"loadingActivity": "Завантаження активності моделі…",
|
|
663
|
+
"loadingContext": "Завантаження наданого контексту…",
|
|
664
|
+
"noCalls": "Для цього запуску не записано викликів моделі.",
|
|
665
|
+
"noContext": "Для цього запуску не збережено контексту агента. Він фіксується при кожному відправленні, коли для робочого простору ввімкнено 'Зберігати повний контекст агента'.",
|
|
666
|
+
"summary": {
|
|
667
|
+
"calls": "Виклики",
|
|
668
|
+
"tokensInOut": "Токени (вхід / вихід)",
|
|
669
|
+
"transportOverhead": "Накладні витрати транспорту",
|
|
670
|
+
"modelExecution": "Виконання моделі",
|
|
671
|
+
"truncated": "{count} обрізаний | {count} обрізані | {count} обрізаних"
|
|
672
|
+
},
|
|
673
|
+
"metricsBar": {
|
|
674
|
+
"calls": "{count} виклик | {count} виклики | {count} викликів",
|
|
675
|
+
"promptCompletionTokens": "Токени запиту / завершення",
|
|
676
|
+
"cachedTokens": "({tokens} з кешу)",
|
|
677
|
+
"cachedTokensHint": "Токени запиту, надані з кешу провайдера",
|
|
678
|
+
"errors": "{count} помилка | {count} помилки | {count} помилок",
|
|
679
|
+
"warnings": "{count} попередження | {count} попередження | {count} попереджень",
|
|
680
|
+
"outputLimit": "Ліміт виводу",
|
|
681
|
+
"truncatedCalls": "{count} виклик обрізано на ліміті | {count} виклики обрізано на ліміті | {count} викликів обрізано на ліміті",
|
|
682
|
+
"transportVsExecution": "Транспорт проти виконання",
|
|
683
|
+
"transportOverhead": "Накладні витрати транспорту / проксі",
|
|
684
|
+
"modelExecution": "Виконання моделі"
|
|
685
|
+
},
|
|
686
|
+
"call": {
|
|
687
|
+
"tokensTitle": "{prompt} токенів запиту / {completion} токенів завершення",
|
|
688
|
+
"outputUsedVsLimit": "Використано виводу проти ліміту",
|
|
689
|
+
"transportVsExecution": "Накладні витрати транспорту / виконання моделі",
|
|
690
|
+
"error": "помилка",
|
|
691
|
+
"ok": "ок",
|
|
692
|
+
"messages": "{count} повідомлень",
|
|
693
|
+
"tools": "{count} інструментів",
|
|
694
|
+
"streamed": "потоково",
|
|
695
|
+
"buffered": "буферизовано",
|
|
696
|
+
"maxTokens": "max_tokens {value}",
|
|
697
|
+
"promptCached": "{cached}/{prompt} запиту з кешу",
|
|
698
|
+
"total": "усього {duration}",
|
|
699
|
+
"prompt": "Запит",
|
|
700
|
+
"promptPrefixOmitted": "(лише нові повідомлення: {count} раніших пропущено)",
|
|
701
|
+
"response": "Відповідь",
|
|
702
|
+
"reasoning": "Міркування"
|
|
703
|
+
},
|
|
704
|
+
"context": {
|
|
705
|
+
"injectedFiles": "Впроваджені файли контексту",
|
|
706
|
+
"bestPracticeFragments": "Фрагменти найкращих практик",
|
|
707
|
+
"filesCount": "{count} файлів",
|
|
708
|
+
"fragmentsCount": "{count} фрагментів",
|
|
709
|
+
"systemPrompt": "Системний запит",
|
|
710
|
+
"userPrompt": "Запит користувача",
|
|
711
|
+
"details": "Деталі"
|
|
712
|
+
}
|
|
119
713
|
}
|
|
120
714
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cat-factory/app",
|
|
3
|
-
"version": "0.46.
|
|
3
|
+
"version": "0.46.11",
|
|
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",
|