···11+import "@typelex/emitter";
22+33+namespace sh.tangled.repo.mergeCheck {
44+ /** Check if a merge is possible between two branches */
55+ @procedure
66+ op main(
77+ input: {
88+ /** DID of the repository owner */
99+ @required did: did,
1010+1111+ /** Name of the repository */
1212+ @required name: string,
1313+1414+ /** Patch or pull request to check for merge conflicts */
1515+ @required patch: string,
1616+1717+ /** Target branch to merge into */
1818+ @required branch: string,
1919+ }
2020+ ): {
2121+ /** Whether the merge has conflicts */
2222+ @required is_conflicted: boolean;
2323+2424+ /** List of files with merge conflicts */
2525+ conflicts?: ConflictInfo[];
2626+2727+ /** Additional message about the merge check */
2828+ message?: string;
2929+3030+ /** Error message if check failed */
3131+ error?: string;
3232+ };
3333+3434+ model ConflictInfo {
3535+ /** Name of the conflicted file */
3636+ @required filename: string;
3737+3838+ /** Reason for the conflict */
3939+ @required reason: string;
4040+ }
4141+}