Modulify

Merge the unmerged changes of a chat

merge_chat_changes

Tries again to merge the unmerged changes of a chat into the site.

Scopechat:writeMakes changes

Multiple chats are a paid plan feature, and each chat works in its own copy of the site. When the end of a turn cannot merge its changes automatically, for example because another chat changed the same lines, they are kept as unmerged changes, which list_chats shows as pending. This tries the merge again. See Changes not merged.

The response carries the outcome in integration, where state reads:

state What it means
landed The changes are on the site now
no-changes Nothing was left to merge
conflicted, pending or rejected They still could not be merged and stay unmerged. Send a message to that chat asking the agent to resolve the conflicts

integration also lists the files that conflict in conflicts, each with its path and kind.

It is refused with a 409 while a generation runs in that chat or its changes are already being merged or discarded (Wait for this chat to finish first!), while the site finishes a restore or move or its preview moves to a new environment (Changes cannot be saved to this site while it finishes a restore or move. Try again in a moment!) and when the chat has no unmerged changes (This chat has no unmerged changes!). It is also refused while the site is locked or while its GitHub repository blocks editing, with the same message send_message gives.

Two refusals are safe to try again in a moment:

Status When The message
409 Another chat's changes are being merged into the site right now Another chat is merging changes right now. Try again in a moment!
503 The site or its repository could not be reached to finish the merge The site could not be reached to finish this. Try again in a moment!

Inputs

Input Type Required Description
projectId string Yes The site id, from list_sites or get_site.
chatId string No The chat to merge: main for the chat every site comes with, or the chatKey of another chat from list_chats. Defaults to main.