openclaw
Version:
Multi-channel AI gateway with extensible messaging integrations
48 lines (47 loc) • 1.88 kB
JavaScript
import { c as resolvePluginMetadataSnapshot } from "./plugin-metadata-snapshot-w-4EjxI4.js";
import { a as setPluginRuntimeLoadContext } from "./load-context-BdeWeJHL.js";
import { t as createAgentRuntimeMetadataPluginIdScope } from "./runtime-plugin-load-plan-bSDzapSx.js";
import { t as resolvePluginRuntimeLoadContext } from "./load-context.resolve-O967gh1f.js";
//#region src/agents/prepared-model-runtime.plugin-context.ts
const emptyPluginDiscovery = {
candidates: [],
diagnostics: []
};
/** Resolves and attaches the plugin facts owned by one prepared workspace generation. */
function prepareOwnedPluginLoadContext(input, env, registry, preparedMetadataSnapshot, preferBuiltPluginArtifacts = false) {
const metadataSnapshot = preparedMetadataSnapshot ?? resolvePluginMetadataSnapshot({
config: input.config,
env,
...input.workspaceDir ? {
workspaceDir: input.workspaceDir,
allowWorkspaceScopedCurrent: true
} : {},
...input.loadRuntimePlugins && input.runtimePluginSelections && input.workspaceDir ? { pluginIdScope: createAgentRuntimeMetadataPluginIdScope({
config: input.config,
workspaceDir: input.workspaceDir,
selections: input.runtimePluginSelections
}) } : {}
});
if (!registry) return metadataSnapshot;
const { config } = input;
const workspaceDir = metadataSnapshot.workspaceDir ?? input.workspaceDir;
const discoverySnapshot = metadataSnapshot.discovery ? metadataSnapshot : {
...metadataSnapshot,
discovery: emptyPluginDiscovery
};
const context = {
...resolvePluginRuntimeLoadContext({
config,
env,
workspaceDir,
metadataSnapshot: discoverySnapshot,
manifestRegistry: metadataSnapshot.manifestRegistry,
preferBuiltPluginArtifacts
}),
metadataSnapshot
};
setPluginRuntimeLoadContext(registry, context);
return metadataSnapshot;
}
//#endregion
export { prepareOwnedPluginLoadContext as t };