Table of Contents

Class ChatProvisioningOptions

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

What provisioning checks before it moves a gigabyte.

public sealed class ChatProvisioningOptions
Inheritance
ChatProvisioningOptions
Inherited Members

Properties

FreeDiskMarginBytes

Free disk required beyond the bytes still to transfer, checked against the bundle total before the first byte. Sub-project 2's HTTP source checks per file against a 32 MiB margin, which is the right question for a 23 MiB embedding graph and the wrong one for a 1.24 GB-decimal folder. Default 512 MiB.

IsTransferPermitted

Consulted once, immediately before the first byte of a transfer. Returning false makes ProvisionAsync throw ChatDownloadNotPermitted without opening a connection. Null (the default) permits the transfer.

This is a hook and not a network stack, deliberately. Reading whether the connection is metered means Microsoft.Maui.Networking.Connectivity on MAUI, NetworkInterface/NWPathMonitor elsewhere, and a per-platform answer that does not exist on a bare ServiceCollection - which the suite's decisions say this package must run on. So the policy is one line in the app: o.IsTransferPermitted = () => Connectivity.Current.ConnectionProfile == ConnectionProfile.WiFi; and the sample app shows exactly that. Google Play warns a user above 200 MB on mobile data and both shipped presets are far past it, so an app that ships chat and never sets this has made a decision, which is why the consent sheet names the transfer size.