mirror of
https://github.com/openclaw/openclaw.git
synced 2026-05-28 01:22:57 +00:00
fix: refresh provider-scoped plugin metadata
This commit is contained in:
@@ -172,12 +172,14 @@ export async function ensureOpenClawModelsJson(
|
||||
(agentDirOverride?.trim()
|
||||
? undefined
|
||||
: resolveAgentWorkspaceDir(cfg, resolveDefaultAgentId(cfg)));
|
||||
const providerScopedDiscovery = Boolean(options.providerDiscoveryProviderIds?.length);
|
||||
const pluginMetadataSnapshot =
|
||||
options.pluginMetadataSnapshot ??
|
||||
resolvePluginMetadataSnapshot({
|
||||
config: cfg,
|
||||
env: createConfigRuntimeEnv(cfg),
|
||||
...(workspaceDir ? { workspaceDir } : {}),
|
||||
...(providerScopedDiscovery ? { preferPersisted: false } : {}),
|
||||
});
|
||||
const agentDir = agentDirOverride?.trim() ? agentDirOverride.trim() : resolveDefaultAgentDir(cfg);
|
||||
const targetPath = path.join(agentDir, "models.json");
|
||||
|
||||
@@ -176,6 +176,23 @@ describe("models-config write serialization", () => {
|
||||
});
|
||||
});
|
||||
|
||||
it("does not reuse persisted plugin metadata for provider-scoped discovery", async () => {
|
||||
await withModelsTempHome(async (home) => {
|
||||
const workspaceDir = path.join(home, "agent-workspace");
|
||||
const snapshot = createPluginMetadataSnapshot(workspaceDir);
|
||||
setCurrentPluginMetadataSnapshot(snapshot, { config: {} });
|
||||
const agentDir = path.join(home, "agent-non-default");
|
||||
|
||||
await ensureOpenClawModelsJson({}, agentDir, {
|
||||
workspaceDir,
|
||||
providerDiscoveryProviderIds: ["google"],
|
||||
});
|
||||
|
||||
const params = planParamsAt(0);
|
||||
expect(params.pluginMetadataSnapshot).not.toBe(snapshot);
|
||||
});
|
||||
});
|
||||
|
||||
it("writes implicit models.json into the configured default agent dir", async () => {
|
||||
await withModelsTempHome(async (home) => {
|
||||
const cfg = {
|
||||
|
||||
Reference in New Issue
Block a user