openclaw
Version:
Multi-channel AI gateway with extensible messaging integrations
71 lines (70 loc) • 3.25 kB
JavaScript
import { n as getRuntimeConfig } from "./io.runtime-B9iJRs3w.js";
import { f as extractPluginInstallRecordsFromInstalledPluginIndex } from "./installed-plugin-index-wrDsjyMD.js";
import { c as resolvePluginMetadataSnapshot, o as projectPluginMetadataSnapshot } from "./plugin-metadata-snapshot-w-4EjxI4.js";
import { n as resolvePluginControlPlaneWorkspace } from "./control-plane-workspace-BWhgt2gz.js";
import { n as resolveConfigWidePluginMetadataSnapshot } from "./io.plugin-metadata-BruF5izX.js";
import { t as resolvePluginActivationSourceConfig } from "./activation-source-config-DnARnJdS.js";
import "./config-Cs0XXL3x.js";
import { t as applyPluginAutoEnable } from "./plugin-auto-enable-Tv_C18cS.js";
import { r as createPluginRuntimeLoaderLogger } from "./load-context-BdeWeJHL.js";
//#region src/plugins/runtime/load-context.resolve.ts
/** Resolves config, manifests, install records, and auto-enable state for runtime loads. */
function resolvePluginRuntimeLoadContext(options) {
const env = options?.env ?? process.env;
const rawConfig = options?.config ?? getRuntimeConfig();
const rawWorkspaceDir = resolvePluginControlPlaneWorkspace({
config: rawConfig,
env,
workspaceDir: options?.workspaceDir
}).workspaceDir;
const resolveMetadataSnapshot = (params) => {
if (options?.workspaceDir === void 0) return projectPluginMetadataSnapshot(resolveConfigWidePluginMetadataSnapshot({
config: params.config,
env
}), options?.onlyPluginIds);
return resolvePluginMetadataSnapshot({
config: params.config,
env,
workspaceDir: rawWorkspaceDir,
allowWorkspaceScopedCurrent: true,
...params.index ? { index: params.index } : {},
...options?.onlyPluginIds !== void 0 ? { pluginIds: options.onlyPluginIds } : {}
});
};
const initialMetadataSnapshot = options?.metadataSnapshot ?? (options?.manifestRegistry === void 0 ? resolveMetadataSnapshot({ config: rawConfig }) : void 0);
const manifestRegistry = options?.manifestRegistry ?? initialMetadataSnapshot?.manifestRegistry;
const activationSourceConfig = resolvePluginActivationSourceConfig({
config: rawConfig,
activationSourceConfig: options?.activationSourceConfig
});
const autoEnabled = applyPluginAutoEnable({
config: rawConfig,
env,
manifestRegistry,
discovery: initialMetadataSnapshot?.discovery
});
const config = autoEnabled.config;
const workspaceDir = resolvePluginControlPlaneWorkspace({
config,
env,
workspaceDir: options?.workspaceDir
}).workspaceDir;
const metadataSnapshot = initialMetadataSnapshot;
const finalManifestRegistry = options?.manifestRegistry ?? metadataSnapshot?.manifestRegistry;
const installRecords = metadataSnapshot ? extractPluginInstallRecordsFromInstalledPluginIndex(metadataSnapshot.index) : void 0;
return {
rawConfig,
config,
activationSourceConfig,
autoEnabledReasons: autoEnabled.autoEnabledReasons,
workspaceDir,
env,
logger: options?.logger ?? createPluginRuntimeLoaderLogger(),
...finalManifestRegistry ? { manifestRegistry: finalManifestRegistry } : {},
...metadataSnapshot ? { metadataSnapshot } : {},
installRecords,
preferBuiltPluginArtifacts: options?.preferBuiltPluginArtifacts
};
}
//#endregion
export { resolvePluginRuntimeLoadContext as t };