@@ -10,8 +10,7 @@ import {
1010 normalizePluginsConfigWithResolver ,
1111 resolveEffectivePluginActivationState ,
1212} from "../plugins/config-policy.js" ;
13- import type { PluginManifestRegistry } from "../plugins/manifest-registry.js" ;
14- import { loadPluginManifestRegistryForPluginRegistry } from "../plugins/plugin-registry.js" ;
13+ import { loadPluginMetadataSnapshot } from "../plugins/plugin-metadata-snapshot.js" ;
1514import { isRecord } from "../utils.js" ;
1615import { loadEmbeddedPiMcpConfig } from "./embedded-pi-mcp.js" ;
1716
@@ -69,33 +68,6 @@ function loadBundleSettingsFile(params: {
6968 }
7069}
7170
72- function buildRegistryPluginIdAliases (
73- registry : PluginManifestRegistry ,
74- ) : Readonly < Record < string , string > > {
75- return Object . fromEntries (
76- registry . plugins
77- . flatMap ( ( record ) => [
78- ...( record . providers ?? [ ] )
79- . filter ( ( providerId ) => providerId !== record . id )
80- . map ( ( providerId ) => [ providerId , record . id ] as const ) ,
81- ...( record . legacyPluginIds ?? [ ] ) . map (
82- ( legacyPluginId ) => [ legacyPluginId , record . id ] as const ,
83- ) ,
84- ] )
85- . toSorted ( ( [ left ] , [ right ] ) => left . localeCompare ( right ) ) ,
86- ) ;
87- }
88-
89- function createRegistryPluginIdNormalizer (
90- registry : PluginManifestRegistry ,
91- ) : ( id : string ) => string {
92- const aliases = buildRegistryPluginIdAliases ( registry ) ;
93- return ( id : string ) => {
94- const trimmed = id . trim ( ) ;
95- return aliases [ trimmed ] ?? trimmed ;
96- } ;
97- }
98-
9971export function loadEnabledBundlePiSettingsSnapshot ( params : {
10072 cwd : string ;
10173 cfg ?: OpenClawConfig ;
@@ -104,18 +76,19 @@ export function loadEnabledBundlePiSettingsSnapshot(params: {
10476 if ( ! workspaceDir ) {
10577 return { } ;
10678 }
107- const registry = loadPluginManifestRegistryForPluginRegistry ( {
79+ const metadataSnapshot = loadPluginMetadataSnapshot ( {
10880 workspaceDir,
109- config : params . cfg ,
110- includeDisabled : true ,
81+ config : params . cfg ?? { } ,
82+ env : process . env ,
11183 } ) ;
84+ const registry = metadataSnapshot . manifestRegistry ;
11285 if ( registry . plugins . length === 0 ) {
11386 return { } ;
11487 }
11588
11689 const normalizedPlugins = normalizePluginsConfigWithResolver (
11790 params . cfg ?. plugins ,
118- createRegistryPluginIdNormalizer ( registry ) ,
91+ metadataSnapshot . normalizePluginId ,
11992 ) ;
12093 let snapshot : PiSettingsSnapshot = { } ;
12194
0 commit comments