fix: ensure userVisible metadata on Goosed session replies

Goosed rejects /sessions/:id/reply when user_message.metadata lacks
userVisible. Normalize metadata before submit and during agent orchestration
so page-generation runs no longer fail before streaming starts.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
john
2026-07-05 11:58:17 +08:00
parent 5f8ef9ddb0
commit cb7a446d3e
5 changed files with 94 additions and 0 deletions
+19
View File
@@ -0,0 +1,19 @@
/**
* Goosed requires user_message.metadata.userVisible (and agentVisible) on /reply.
*/
export function ensureGooseUserMessageMetadata(userMessage) {
if (!userMessage || typeof userMessage !== 'object' || Array.isArray(userMessage)) {
return userMessage;
}
const metadata =
userMessage.metadata && typeof userMessage.metadata === 'object' && !Array.isArray(userMessage.metadata)
? { ...userMessage.metadata }
: {};
if (metadata.userVisible == null) metadata.userVisible = true;
if (metadata.agentVisible == null) metadata.agentVisible = true;
return {
...userMessage,
metadata,
};
}