Перейти к содержимому
FastOffice

Транспорт и envelope

Форматы запроса и ответа Compute Contract, backend-выбор и обработка отказов.

Native-процесс запускается как compute_contract_cli –session. После handshake транспорт принимает один JSON ComputeRequest на строку и возвращает один ComputeResultEnvelope на строку. WASM использует тот же JSON через WasmComputeSession.dispatch().

Окно терминала
./target/release/compute_contract_cli --session

Общие поля запроса

Поле Тип TypeScript Обяз. Примечание из контракта
operation ComputeRequest[“operation”] да Дискриминатор операции.
requestedBackend “wasm” | “native-desktop” | “service-host” | null нет Запрошенный backend.
requestId string нет Транспортная корреляция; echo в envelope.

ComputeSuccessEnvelope

Поле Тип TypeScript Обяз. Примечание из контракта
ok true да Успех.
requestId string нет Echo requestId.
requestedBackend ComputeBackendKind да
backendUsed ComputeBackendKind да
fallbackUsed boolean да
warnings ComputeWarning[] да
responsiveRecalc ContractResponsiveRecalcSnapshot | null нет
payload ComputeResponsePayload да Success payload конкретной операции.

ComputeErrorEnvelope

Поле Тип TypeScript Обяз. Примечание из контракта
ok false да Отказ.
requestId string нет Echo requestId.
requestedBackend ComputeBackendKind да
backendUsed ComputeBackendKind да
fallbackUsed boolean да
warnings ComputeWarning[] да
code string да Typed refusal/error code.
message string да
details string | null нет
dataValidationSource ContractDataValidationSourceValidation | null нет
calculationStatus ContractCalculationStatus | null нет

Ассистент документации

Ответ собран из документации и может быть неточным — сверяйтесь с источниками.