Arcane OS Docs Development only

Reference

Arcane.localAI.recover()

Requests one privileged, exclusive, start-existing-service-only recovery of selected Arcane-managed local services. Requires ai.inference and explicit application admission.

  • Reference

This focused page is derived from the mechanically checked full member inventory.

Syntax

Arcane.localAI.recover(request)

Parameters

request: LocalAIRecoveryRequest

Return value

Promise<LocalAIRecoveryResult>

Description

Requests one privileged, exclusive, start-existing-service-only recovery of selected Arcane-managed local services. Requires ai.inference and explicit application admission.

Overview

Arcane.localAI.recover(request) starts and verifies existing approved Arcane-managed local services. It does not install, replace, stop, or silently reconfigure a service. Use it only from the admitted recovery journey after status identifies a recoverable service outage.

Parameters

request is exactly {services}. services is a nonempty, duplicate-free subset of "ollama" and "speech"; the result uses canonical Ollama-then- speech order.

Return value

It resolves to {ready: true, services, operation}. Each service record is exactly {id, serviceName, endpoint, state: "running", ready: true, started} and the completed operation is the privileged recovery receipt.

Availability

This is a privileged, exclusive Core method for explicitly admitted recovery application identities with ai.inference. The managed recovery adapter is currently available on Microsoft NT. Linux reports recovery as unsupported, and Android owns its local services outside Arcane.

Errors and recovery

Correct LOCAL_AI_RECOVERY_INPUT_INVALID before retrying. Unsupported platform, missing registration, service configuration, health, elevation, lease, or output-contract errors require the resolution on the Arcane.Error; do not substitute an installer or arbitrary service command from renderer code.

Streaming, cancellation, and events

The workflow emits standard operation lifecycle and progress events. It is not streaming and exposes no signal. Core does not cooperatively cancel it, so a renderer timeout or page close can leave recovery running; refresh localAI.status() before any retry.

Example

document.querySelector('#confirm-local-ai-recovery')?.addEventListener(
    'click',
    async function handleConfirmedLocalAIRecovery() {
        const result = await globalThis.Arcane.localAI.recover({
            services: ['speech']
        });
        console.info(result.services[0].ready);
    }
);

Reference group

AI and Ollama

Repository and reviewed source access