feat(observatory): add portable LAB V1 foundation

This commit is contained in:
DCCONSTRUCTIONS
2026-08-31 11:02:34 +03:00
parent d67e86176e
commit c9302c78c2
27 changed files with 7629 additions and 266 deletions
@@ -104,7 +104,7 @@ const recordedJobStatus: Record<
label: "Ждём подтверждения остановки",
tone: "warning",
},
succeeded: { label: "Готово", tone: "success" },
succeeded: { label: "Вычислено · ждёт публикации", tone: "warning" },
failed: { label: "Ошибка расчёта", tone: "danger" },
"reconciliation-required": { label: "Нужна сверка", tone: "warning" },
};
@@ -210,7 +210,13 @@ export function ObservatoryWorkspace({
value: setup.setupId,
label: setup.displayName,
description: setup.compatibility.compatible
? setup.origin === "existing-result" ? "Готовый результат" : "Совместимый архивный сетап"
? setup.origin === "existing-result"
? "Готовый результат"
: setup.origin === "portable-definition"
? setup.executor.state === "ready"
? "Запись совместима · Worker установлен, запуск закрыт"
: "Запись совместима · Worker не установлен"
: "Совместимый архивный сетап"
: "Несовместим с выбранной сессией",
})) ?? []
), [setupController.catalog]);
@@ -489,6 +495,20 @@ export function ObservatoryWorkspace({
<StatusBadge tone="neutral">Проверяем сетап</StatusBadge>
) : queueStateBusy ? (
<StatusBadge tone="neutral">Читаем очередь</StatusBadge>
) : setupController.selectedSetup?.origin === "portable-definition"
&& runPreflight ? (
<StatusBadge
tone={setupController.selectedSetup.compatibility.compatible
? "warning"
: "danger"}
title={setupController.selectedSetup.preflight.reason}
>
{setupController.selectedSetup.compatibility.compatible
? setupController.selectedSetup.executor.state === "not-installed"
? "Worker LAB V1 не установлен"
: "Запуск LAB V1 недоступен"
: "Запись несовместима"}
</StatusBadge>
) : null}
{canSubmitRecordedJob ? (
<Button