refactor(agents): dedupe lifecycle send assertions and stable payload stringify

This commit is contained in:
Peter Steinberger
2026-02-18 14:15:14 +00:00
parent 168d24526e
commit 1934eebbf0
4 changed files with 56 additions and 44 deletions

View File

@@ -129,12 +129,18 @@ function stableStringify(value: unknown): string {
});
}
if (Array.isArray(value)) {
return `[${value.map((entry) => stableStringify(entry)).join(",")}]`;
const serializedEntries: string[] = [];
for (const entry of value) {
serializedEntries.push(stableStringify(entry));
}
return `[${serializedEntries.join(",")}]`;
}
const record = value as Record<string, unknown>;
const keys = Object.keys(record).toSorted();
const entries = keys.map((key) => `${JSON.stringify(key)}:${stableStringify(record[key])}`);
return `{${entries.join(",")}}`;
const serializedFields: string[] = [];
for (const key of Object.keys(record).toSorted()) {
serializedFields.push(`${JSON.stringify(key)}:${stableStringify(record[key])}`);
}
return `{${serializedFields.join(",")}}`;
}
function digest(value: unknown): string {