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
+5
View File
@@ -16,6 +16,7 @@ import { buildCurrentTimeAgentPrefix, buildTaskRoutingAgentText } from './user-m
import { reconcileAgentSession } from './session-reconcile.mjs';
import { createImgproxySigner } from './imgproxy-signer.mjs';
import { isDirectChatSessionId } from './direct-chat-service.mjs';
import { ensureGooseUserMessageMetadata } from './goose-message.mjs';
import {
memoryLimitForIntervention,
resolveMemoryInterventionMode,
@@ -1375,6 +1376,10 @@ export function createTkmindProxy({
await userAuth.getAgentSessionPolicy(userId),
);
}
body = {
...body,
user_message: ensureGooseUserMessageMetadata(body.user_message),
};
const target = await resolveTarget(sessionId);
const upstream = await apiFetch(