function buildPayload(overrides) {
    const payload = {
        github: overrides.github ?? true,
        gitlab: overrides.gitlab ?? false,
        defaultModel: overrides.defaultModel ?? 'sonnet',
        reviewFollowupSkill: overrides.reviewFollowupSkill ?? 'review-followup',
    };
    if (Object.prototype.hasOwnProperty.call(overrides, 'reviewSkill')) {
        if (overrides.reviewSkill !== undefined) {
            payload.reviewSkill = overrides.reviewSkill;
        }
    }
    else {
        payload.reviewSkill = 'review-front';
    }
    if (Object.prototype.hasOwnProperty.call(overrides, 'reviewFocus')) {
        if (overrides.reviewFocus !== undefined) {
            payload.reviewFocus = overrides.reviewFocus;
        }
    }
    if (overrides.language !== undefined) {
        payload.language = overrides.language;
    }
    if (overrides.retentionDays !== undefined) {
        payload.retentionDays = overrides.retentionDays;
    }
    if (overrides.agents !== undefined) {
        payload.agents = overrides.agents;
    }
    if (overrides.followupAgents !== undefined) {
        payload.followupAgents = overrides.followupAgents;
    }
    if (overrides.routingPolicy !== undefined) {
        payload.routingPolicy = overrides.routingPolicy;
    }
    if (overrides.qualityThreshold !== undefined) {
        payload.qualityThreshold = overrides.qualityThreshold;
    }
    return payload;
}
export const ProjectConfigFactory = {
    create(overrides = {}) {
        return buildPayload(overrides);
    },
};
//# sourceMappingURL=projectConfig.factory.js.map