From 1f308267c2ca141068d50706703888e9bd49f6d0 Mon Sep 17 00:00:00 2001 From: Gagan Date: Thu, 23 Jul 2026 16:30:53 +0530 Subject: [PATCH] feat(x): gateway chat titles on gemini-3.5-flash with low thinking 3.5-flash reasons by default and starved the 50-token output cap (finishReason: length, 44/50 tokens on thinking). Map reasoning effort to low via the existing per-provider translation, raise the cap, and keep only the first output line. --- apps/x/packages/core/src/knowledge/generate_title.ts | 10 ++++++++-- apps/x/packages/core/src/models/defaults.ts | 2 +- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/apps/x/packages/core/src/knowledge/generate_title.ts b/apps/x/packages/core/src/knowledge/generate_title.ts index 5b82d968..e2983ba5 100644 --- a/apps/x/packages/core/src/knowledge/generate_title.ts +++ b/apps/x/packages/core/src/knowledge/generate_title.ts @@ -1,6 +1,7 @@ import { generateText } from 'ai'; import { createLanguageModel } from '../models/models.js'; import { getChatTitleModel, resolveProviderConfig } from '../models/defaults.js'; +import { mapReasoningEffort } from '../models/reasoning.js'; import { captureLlmUsage } from '../analytics/usage.js'; import { withUseCase } from '../analytics/use_case.js'; @@ -37,11 +38,16 @@ export async function generateChatTitle(firstMessage: string): Promise generateText({ model, system: SYSTEM_PROMPT, prompt: text.slice(0, MAX_INPUT_CHARS), - maxOutputTokens: 50, + maxOutputTokens: 1000, + ...(reasoning?.providerOptions ? { providerOptions: reasoning.providerOptions } : {}), })); captureLlmUsage({ @@ -52,7 +58,7 @@ export async function generateChatTitle(firstMessage: string): Promise;