///|
/// Public package version shown by the CLI and release tooling.
pub fn package_version() -> String {
"0.2.2"
}
///|
/// Human-readable package title.
pub fn package_name() -> String {
"moonbit-eta-predict"
}
///|
/// Package purpose for generated metadata and host integrations.
pub fn package_description() -> String {
"Deterministic streaming ETA prediction primitives for MoonBit"
}
///|
/// License identifier used by the module metadata.
pub fn package_license() -> String {
"Apache-2.0"
}
///|
/// Repository URL for diagnostics and generated reports.
pub fn package_repository() -> String {
"https://github.com/lijunjie860/moonbit-eta-predict"
}
///|
/// Runtime targets exercised by the library design.
pub fn supported_targets() -> Array[String] {
["wasm-gc", "wasm", "js", "native", "llvm"]
}
///|
/// Return whether a target is supported by the package contract.
pub fn supports_target(target : String) -> Bool {
supported_targets().contains(target.trim().to_owned().to_lower())
}
///|
/// Public feature names used in release notes and package discovery.
pub fn feature_names() -> Array[String] {
[
"kalman-smoothing", "innovation-gating", "adaptive-windows", "route-profiles",
"calendar-congestion", "csv-and-json-lines", "batch-calibration", "rolling-evaluation",
"deterministic-benchmarks", "quality-gates",
]
}
///|
/// Return a stable release metadata block.
pub fn release_metadata() -> String {
let builder = StringBuilder()
builder.write_string("name=")
builder.write_string(package_name())
builder.write_char('\n')
builder.write_string("version=")
builder.write_string(package_version())
builder.write_char('\n')
builder.write_string("license=")
builder.write_string(package_license())
builder.write_char('\n')
builder.write_string("targets=")
builder.write_string(supported_targets().join(","))
builder.write_char('\n')
builder.write_string("features=")
builder.write_string(feature_names().join(","))
builder.to_string()
}
///|
/// Check the public metadata contract.
pub fn metadata_is_complete() -> Bool {
!package_name().is_empty() &&
!package_version().is_empty() &&
package_license() == "Apache-2.0" &&
supports_target("wasm-gc") &&
feature_names().length() >= 8
}
///|
/// Return a concise version string for command output.
pub fn version_banner() -> String {
"\{package_name()} \{package_version()} (\{package_license()})"
}
///|
/// Return the expected generated interface filename for the root package.
pub fn interface_filename() -> String {
"pkg.generated.mbti"
}
///|
/// Return the recommended validation commands as data.
pub fn validation_commands() -> Array[String] {
[
"moon fmt --check", "moon check --deny-warn --target all", "moon test --deny-warn --target all",
"moon info", "moon publish",
]
}