From 078452d8f3c5211f5b75a54c9928f5211e9a06e0 Mon Sep 17 00:00:00 2001 From: sunrisepeak Date: Sat, 16 May 2026 05:22:22 +0800 Subject: [PATCH] feat(xpkg): add PackageType::Subos for subos-as-xpkg Adds 5th enum value and string mapping in loader. Consumed by xlings to dispatch type='subos' packages through a dedicated install handler (see openxlings/xlings subos-as-xpkg design). --- src/xpkg-loader.cppm | 1 + src/xpkg.cppm | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/src/xpkg-loader.cppm b/src/xpkg-loader.cppm index 71b433d..ac22d33 100644 --- a/src/xpkg-loader.cppm +++ b/src/xpkg-loader.cppm @@ -153,6 +153,7 @@ PackageType parse_type(const std::string& s) { if (s == "script") return PackageType::Script; if (s == "template") return PackageType::Template; if (s == "config") return PackageType::Config; + if (s == "subos") return PackageType::Subos; return PackageType::Package; } diff --git a/src/xpkg.cppm b/src/xpkg.cppm index 11cb3fa..1c62e72 100644 --- a/src/xpkg.cppm +++ b/src/xpkg.cppm @@ -9,7 +9,7 @@ export module mcpplibs.xpkg; export namespace mcpplibs::xpkg { -enum class PackageType { Package, Script, Template, Config }; +enum class PackageType { Package, Script, Template, Config, Subos }; enum class PackageStatus { Dev, Stable, Deprecated }; struct PlatformResource {