fix(cli): strip virtual-LLM lifecycle fields from llm apply-doc YAML #64

Merged
michal merged 1 commits from fix/llm-yaml-roundtrip-strip-lifecycle into main 2026-04-27 13:47:20 +00:00
Showing only changes of commit 2a44f60785 - Show all commits

View File

@@ -408,6 +408,17 @@ function toApplyDocs(resource: string, items: unknown[]): Array<{ kind: string }
const kind = RESOURCE_KIND[resource] ?? resource; const kind = RESOURCE_KIND[resource] ?? resource;
return items.map((item) => { return items.map((item) => {
const cleaned = stripInternalFields(item as Record<string, unknown>); const cleaned = stripInternalFields(item as Record<string, unknown>);
// Llm-specific: the new virtual-provider lifecycle fields collide with
// the apply-doc `kind` envelope (the schema uses `kind: public|virtual`)
// and aren't apply-able anyway — they're derived runtime state managed
// by VirtualLlmService. Drop them so YAML round-trips stay clean.
if (resource === 'llms') {
delete cleaned['kind'];
delete cleaned['status'];
delete cleaned['lastHeartbeatAt'];
delete cleaned['inactiveSince'];
delete cleaned['providerSessionId'];
}
return { kind, ...cleaned }; return { kind, ...cleaned };
}); });
} }