@openai/agents-core
Version:
The OpenAI Agents SDK is a lightweight yet powerful framework for building multi-agent workflows.
40 lines • 1.59 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.mergeNamedObjects = mergeNamedObjects;
exports.addedOrChangedNamedObjects = addedOrChangedNamedObjects;
exports.mergePathKeyedObjects = mergePathKeyedObjects;
exports.addedOrChangedPathKeyedObjects = addedOrChangedPathKeyedObjects;
const compare_1 = require("./compare.js");
function mergeNamedObjects(base, update) {
const merged = new Map();
for (const value of [...base, ...update]) {
merged.set(value.name, structuredClone(value));
}
return [...merged.values()];
}
function addedOrChangedNamedObjects(current, target) {
const currentByName = new Map(current.map((value) => [value.name, value]));
return target
.filter((value) => {
const existing = currentByName.get(value.name);
return !existing || !(0, compare_1.jsonEqual)(existing, value);
})
.map((value) => structuredClone(value));
}
function mergePathKeyedObjects(base, update) {
const merged = new Map();
for (const value of [...base, ...update]) {
merged.set(value.path, structuredClone(value));
}
return [...merged.values()];
}
function addedOrChangedPathKeyedObjects(current, target) {
const currentByPath = new Map(current.map((value) => [value.path, value]));
return target
.filter((value) => {
const existing = currentByPath.get(value.path);
return !existing || !(0, compare_1.jsonEqual)(existing, value);
})
.map((value) => structuredClone(value));
}
//# sourceMappingURL=manifestCollections.js.map