import { resolveAgentWorkspaceDir, resolveDefaultAgentId } from "../agents/agent-scope.js"; import type { OpenClawConfig } from "../config/types.openclaw.js"; import {
collectPluginConfigContractMatches,
resolvePluginConfigContractsById,
} from "../plugins/config-contracts.js"; import { normalizePluginsConfig, resolveEnableState } from "../plugins/config-state.js"; import type { PluginOrigin } from "../plugins/plugin-origin.types.js"; import {
collectSecretInputAssignment,
type ResolverContext,
type SecretDefaults,
} from "./runtime-shared.js"; import { isRecord } from "./shared.js";
/** * Walk manifest-declared plugin config SecretRef surfaces and collect * assignments for runtime materialization. Plugin-owned metadata controls which * config paths support SecretRefs and whether bundled plugins stay inactive on * that surface until explicitly enabled. * * When `loadablePluginOrigins` is provided, entries whose ID is not in the map * are treated as inactive (stale config entries for plugins that are no longer * installed). This prevents resolution failures for SecretRefs belonging to * non-loadable plugins from blocking startup or preflight validation.
*/
export function collectPluginConfigAssignments(params: {
config: OpenClawConfig;
defaults: SecretDefaults | undefined;
context: ResolverContext;
loadablePluginOrigins?: ReadonlyMap<string, PluginOrigin>;
}): void { const entries = params.config.plugins?.entries; if (!isRecord(entries)) { return;
}
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.