Table of Contents

Interface IChatModelProvisioner

Namespace
Qavren.Edge.Chat
Assembly
Qavren.Edge.Chat.Onnx.dll

The only way a chat model's bytes arrive. Nothing downloads implicitly: IChatModelHost.AcquireAsync on an unprovisioned model throws ChatModelNotProvisioned rather than starting a 1.24 GB transfer. The Plan() - consent - ProvisionAsync(IProgress<ModelProvisioningProgress>?, CancellationToken) sequence is what App Store Review 4.2.3(ii) requires ("disclose the size of the download and prompt users before doing so"), expressed in the API rather than left to a README.

public interface IChatModelProvisioner

Properties

IsProvisioned

Whether the marker is present and every file's length matches.

Methods

Plan()

Everything a consent sheet needs. No network I/O beyond a stat.

ProvisionAsync(IProgress<ModelProvisioningProgress>?, CancellationToken)

Pre-checks free disk against the bundle total, then delegates to sub-project 2's IOnnxModelStore.EnsureAsync - resumable ranged GET, per-file SHA-256 against the git-LFS oid, atomic marker, stale-revision purge - all reused unchanged.

RemoveAsync(CancellationToken)

Deletes the model directory.