From c5ff5cc2194017e318c2eddd16f5a2adf2e9be0a Mon Sep 17 00:00:00 2001 From: Paul Kompfner Date: Mon, 8 Dec 2025 16:09:59 -0500 Subject: [PATCH] Update CHANGELOG --- changelog/3175.added.md | 30 ++++++++++++++++-------------- 1 file changed, 16 insertions(+), 14 deletions(-) diff --git a/changelog/3175.added.md b/changelog/3175.added.md index 49e109094..16c946068 100644 --- a/changelog/3175.added.md +++ b/changelog/3175.added.md @@ -10,14 +10,17 @@ - `LLMThoughtStartFrame` - `LLMThoughtTextFrame` - `LLMThoughtEndFrame` - 3. A generic mechanism for associating extra LLM-specific data with a function - call in context, used specifically to support Google's function-call-related + 3. A mechanism for appending arbitrary context messages after a function call + message, used specifically to support Google's function-call-related "thought signatures", which are necessary to ensure thinking continuity between function calls in a chain (where the model thinks, makes a function call, thinks some more, etc.). See: - - `FunctionCallInProgressFrame.llm_specific_extra` - - `LLMAssistantAggregator` handling of the above field - - `GeminiLLMAdapter` handling of`"tool_call_extra"` context messages + - `append_extra_context_messages` field in `FunctionInProgressFrame` and + helper types + - `GoogleLLMService` leveraging the new mechanism to add a Google-specific + `"fn_thought_signature"` message + - `LLMAssistantAggregator` handling of `append_extra_context_messages` + - `GeminiLLMAdapter` handling of `"fn_thought_signature"` messages 4. A generic mechanism for recording LLM thoughts to context, used specifically to support Anthropic, whose thought signatures are expected to appear alongside the text of the thoughts within assistant context @@ -25,15 +28,14 @@ - `LLMThoughtEndFrame.signature` - `LLMAssistantAggregator` handling of the above field - `AnthropicLLMAdapter` handling of `"thought"` context messages - 5. A generic mechanism for recording standalone thought signatures to context, - used specifically to support Gemini 3 Pro, which may return - non-function-call-related thought signatures at the end of - non-function-call assistant responses. See: - - `LLMThoughtSignatureFrame` - - `LLMAssistantAggregator` handling of the above frame - - `GeminiLLMAdapter` handling of `"thought_signature"` context messages + 5. Google-specific logic for inserting non-function-call-related thought + signatures into the context, to help maintain thinking continuity in a + chain of LLM calls. See: + - `GoogleLLMService` sending `LLMMessagesAppendFrame`s to add LLM-specific + `"non_fn_thought_signature"` messages to context + - `GeminiLLMAdapter` handling of `"non_fn_thought_signature"` messages 6. An expansion of `TranscriptProcessor` to process LLM thoughts in addition to user and assistant utterances. See: - - `TranscriptProcessor.thought()` - - `ThoughtTranscriptionMessage`, which may now also be emitted with the + - `TranscriptProcessor(process_thoughts=True)` (defaults to `False`) + - `ThoughtTranscriptionMessage`, which is now also emitted with the `"on_transcript_update"` event