openclaw
Version:
Multi-channel AI gateway with extensible messaging integrations
32 lines (31 loc) • 1.25 kB
JavaScript
import { v as sortUniqueStrings } from "./string-normalization-DsCfAx8q.js";
import { a as loadPluginMetadataSnapshot } from "./plugin-metadata-snapshot-w-4EjxI4.js";
import { i as listAvailableManifestContractPlugins, t as hasManifestContractValue } from "./manifest-contract-eligibility-BbV7X6pV.js";
//#region src/plugins/manifest-contract-runtime.ts
function resolveManifestContractRuntimePluginResolution(params) {
const snapshot = loadPluginMetadataSnapshot({
config: params.cfg ?? {},
env: process.env
});
const allContractPlugins = snapshot.plugins.filter((plugin) => hasManifestContractValue({
plugin,
contract: params.contract,
value: params.value
}));
const bundledCompatPluginIds = allContractPlugins.filter((plugin) => plugin.origin === "bundled").map((plugin) => plugin.id);
const pluginIds = listAvailableManifestContractPlugins({
snapshot: {
index: snapshot.index,
plugins: allContractPlugins
},
contract: params.contract,
value: params.value,
config: params.cfg
}).map((plugin) => plugin.id);
return {
pluginIds: sortUniqueStrings(pluginIds),
bundledCompatPluginIds: sortUniqueStrings(bundledCompatPluginIds)
};
}
//#endregion
export { resolveManifestContractRuntimePluginResolution as t };