Repository navigation
Conversation
_process_input_data ended with a redundant third write that reduced INPUT_VALUE to eval_input[0] — the first message's text only — after already writing the joined text of every message. Multi-turn and multi-part inputs lost all but the first content piece (future-agi#151). Drop the overwrite so the joined eval_input string survives; image parts still surface as {{input_images.N}} placeholders alongside INPUT_IMAGES. Generated with Devin Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What does this PR do?
Fixes
INPUT_VALUEsilently dropping all but the first message for conversational inputs (#151)._process_input_datawroteINPUT_VALUEthree times:eval_input)eval_input[0]— the first message's text only ← the bugWrite 3 is dead logic (its
ifis implied by write 2's) and destroyed the multi-message context write 2 produced. Removed so the joined string survives; image parts still surface as{{input_images.N}}placeholders withINPUT_IMAGESset alongside.Sibling note for reviewers:
traceai_litellmcarries the identical pattern —_process_messagesreturnsquery = eval_input[0]and_instrument_func_type_completionwrites it last, overwriting the joinedeval_input. Same first-message-only loss. I kept this PR scoped to the reported path; happy to follow up there if you'd like it fixed identically.Why?
Closes #151 — trace correctness for multi-message inputs: every message after the first was invisible in
input.value.How was it tested?
TestProcessInputDatainpython/tests/test_framework_openai.py: multi-message preservation, multimodal text+image placeholders, single message, non-list inputpytest tests/test_framework_openai.py::TestProcessInputData— 4/4 passTestOpenAIFrameworkfails identically on cleanmain— itshttpx.Client.sendmock no longer intercepts under openai 3.x (real API call → 401); unrelated to this diffChecklist
mainfix(openai): …)