DirectoryBundleFile class

One file of a DIRECTORY inference model (ORT-GenAI): the model is a set of files that must live together in a per-model subdirectory with their BARE leaf names (genai_config.json references its siblings by bare name and the native loader is handed the directory). filename is the EXPLICIT install identity <modelId>/<bareLeaf> (a real subpath) — NEVER derived from source, so the on-disk id and the repository key always agree (a FileSource-derived basename would drop the subdir and break the repo lookup on every restore). The PRIMARY file (genai_config.json) uses PreferencesKeys.installedModelFileName as its prefsKey so the persist-identity + modelFilePaths.values.first both find it; siblings use their bare leaf name so each maps to a distinct getModelFilePaths entry.

Inheritance

Constructors

DirectoryBundleFile.member({required String modelId, required String bareName, required String primaryName, required ModelSource source})
Builds one bundle member from its modelId (the subdirectory), its BARE leaf bareName, and the bundle's primaryName (the file the engine loads from — for ORT-GenAI, genai_config.json). The primary gets PreferencesKeys.installedModelFileName as its key so persist-identity and getModelFilePaths.values.first find it; every sibling keys on its bare name so each maps to a distinct path entry. Used by both the install path and the restore path, so the key rule lives in one place.
factory

Properties

extension String
File extension for validation purposes (with leading dot, e.g., '.model')
no setterinherited
filename String
Local filename for this file
no setteroverride
hashCode int
The hash code for this object.
no setterinherited
isRequired bool
Whether this file is required for the model to function
no setteroverride
minimumSizeBytes int?
Directory members (.onnx_data, genai_config.json, tokenizer json/vocab) aren't in FileNameUtils.supportedExtensions, so the extension heuristic would wrongly impose the 1 MB default on small config files. We only assert "a non-empty file landed"; real size/sha verification is a follow-up (ResolvedHfFile.sha256/sizeBytes are carried but not yet checked).
no setteroverride
prefsKey String
SharedPreferences key for storing this file's installation status
no setteroverride
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
source ModelSource
Source from which this file can be obtained (NEW: type-safe ModelSource)
no setteroverride

Methods

noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toString() String
A string representation of this object.
inherited

Operators

operator ==(Object other) bool
The equality operator.
inherited