wip(k1): checkpoint connection recovery rewrite

Capture the current unreleased K1 connection, recovery, lifecycle, viewer, and test work as a single known-bad baseline for subsequent fixes.
This commit is contained in:
DCCONSTRUCTIONS
2026-08-14 14:57:50 +03:00
parent aff331082f
commit 0ca7316a24
157 changed files with 152962 additions and 4036 deletions
@@ -0,0 +1,132 @@
import {
isXgridsHostFailureDiagnostic,
type XgridsHostDiagnosticCode,
type XgridsHostDiagnosticAction,
type XgridsHostDiagnosticDomain,
type XgridsHostDiagnosticImpact,
type XgridsHostFailureDiagnostic,
type XgridsOperation,
} from "./api";
const CODE_LABELS: Record<XgridsHostDiagnosticCode, string> = {
"host.bluetooth.permission-denied":
"macOS не разрешила Mission Core использовать Bluetooth.",
"host.bluetooth.adapter-powered-off":
"Bluetooth на этом Mac выключен.",
"host.bluetooth.adapter-unavailable":
"Системный Bluetooth-адаптер сейчас недоступен.",
"host.bluetooth.runtime-unavailable":
"Локальный Bluetooth runtime не готов к новой операции.",
"host.bluetooth.operation-timeout":
"Bluetooth-операция не завершилась за ограниченное время.",
"host.wifi.permission-denied":
"macOS не разрешила Mission Core читать состояние Wi‑Fi.",
"host.wifi.adapter-powered-off":
"Wi‑Fi на этом Mac выключен.",
"host.wifi.interface-unavailable":
"Системный Wi‑Fi-интерфейс сейчас недоступен.",
"host.wifi.ssid-unavailable":
"macOS не сообщила имя текущей Wi‑Fi-сети.",
"host.wifi.operation-timeout":
"Операция с Wi‑Fi не завершилась за ограниченное время.",
"host.wifi.association-failed":
"Mac не подтвердил подключение к ожидаемой Wi‑Fi-сети.",
"host.keychain.interaction-required":
"Связка ключей требует явного подтверждения оператора.",
"host.keychain.permission-denied":
"macOS запретила чтение профиля подключения.",
"host.keychain.unavailable":
"Профиль подключения сейчас недоступен в связке ключей.",
"host.route.unavailable":
"Прямой локальный маршрут к адресу подключения не найден.",
"host.tcp.connection-refused":
"Управляющий TCP endpoint отклонил соединение.",
"host.tcp.connection-timeout":
"Управляющий TCP endpoint не ответил за ограниченное время.",
"host.tcp.endpoint-unavailable":
"Управляющий TCP endpoint недоступен из текущей сети.",
"host.mqtt.connection-timeout":
"Управляющий MQTT-канал не открылся за ограниченное время.",
"host.mqtt.connection-refused":
"Управляющий MQTT-канал отклонил соединение.",
"host.mqtt.transport-unavailable":
"Транспорт управляющего MQTT-канала недоступен.",
"host.filesystem.permission-denied":
"Mission Core не может записать обязательные данные операции в локальное хранилище.",
"host.filesystem.ledger-unavailable":
"Журнал безопасного результата операции недоступен или не подтверждён.",
};
const DOMAIN_LABELS: Record<XgridsHostDiagnosticDomain, string> = {
corebluetooth: "Bluetooth macOS",
corewlan: "Wi‑Fi macOS",
keychain: "Связка ключей macOS",
route: "Локальный сетевой маршрут",
tcp: "Управляющий TCP endpoint",
mqtt: "Управляющий канал MQTT",
filesystem: "Локальное хранилище Mission Core",
};
const IMPACT_LABELS: Record<XgridsHostDiagnosticImpact, string> = {
discovery: "Поиск Bluetooth сейчас недоступен.",
"host-network": "Сетевой путь между этим компьютером и локальным контуром недоступен.",
control: "Управляющая связь не установлена; команды не повторяются автоматически.",
"durable-safety": "Надёжная фиксация результата операции недоступна; новая команда заблокирована.",
};
const ACTION_LABELS: Record<XgridsHostDiagnosticAction, string> = {
"grant-bluetooth-permission":
"Разрешите Mission Core доступ к Bluetooth в системных настройках macOS, затем повторите действие вручную.",
"power-on-bluetooth":
"Включите Bluetooth на этом Mac и запустите новый поиск вручную.",
"restore-bluetooth-adapter":
"Восстановите доступность Bluetooth-адаптера macOS и перезапустите локальный сервис перед новой попыткой.",
"grant-wifi-permission":
"Разрешите Mission Core доступ к данным Wi‑Fi в системных настройках macOS, затем повторите действие вручную.",
"power-on-wifi":
"Включите Wi‑Fi на этом Mac и заново выберите требуемый способ подключения.",
"restore-wifi-interface":
"Восстановите системный Wi‑Fi-интерфейс macOS перед новой попыткой подключения.",
"unlock-or-authorize-keychain":
"Разблокируйте связку ключей macOS и подтвердите доступ Mission Core к профилю подключения.",
"review-keychain-access":
"Разрешите Mission Core чтение профиля подключения в связке ключей macOS.",
"join-expected-network":
"Установите связь этого Mac с ожидаемой локальной сетью и повторите действие.",
"inspect-host-route":
"Восстановите прямой локальный маршрут к адресу подключения.",
"verify-broker-endpoint":
"Восстановите доступность управляющего endpoint из текущей сети; команда автоматически не повторяется.",
"inspect-local-storage":
"Освободите место и восстановите доступ к локальному хранилищу Mission Core до следующей операции.",
"restart-local-service":
"Перезапустите канонический локальный сервис Mission Core и после загрузки обновите состояние.",
"explicit-retry":
"После устранения причины повторите действие отдельным нажатием; автоматического повтора нет.",
};
export interface HostFailureDiagnosticPresentation {
codeLabel: string;
domainLabel: string;
impactLabel: string;
operatorActionLabel: string;
}
export function hostFailureDiagnosticPresentation(
value: unknown,
): HostFailureDiagnosticPresentation | null {
if (!isXgridsHostFailureDiagnostic(value)) return null;
return {
codeLabel: CODE_LABELS[value.code],
domainLabel: DOMAIN_LABELS[value.domain],
impactLabel: IMPACT_LABELS[value.impact],
operatorActionLabel: ACTION_LABELS[value.operator_action],
};
}
export function operationHostFailureDiagnostic(
operation: XgridsOperation | null | undefined,
): XgridsHostFailureDiagnostic | null {
const diagnostic = operation?.error?.host_diagnostic;
return isXgridsHostFailureDiagnostic(diagnostic) ? diagnostic : null;
}