Skip to content

Conversation

@alexander-alderman-webb
Copy link
Contributor

@alexander-alderman-webb alexander-alderman-webb commented Jan 23, 2026

Description

Revert 54034dc and set system instruction attributes on gen_ai.chat spans instead of gen_ai.invoke_agent spans.

Re-uses functions from setting system instructions in OpenAIIntegration, since openai-agents uses a Responses API compatible input schema.

Issues

Reminders

@github-actions
Copy link
Contributor

github-actions bot commented Jan 23, 2026

Semver Impact of This PR

🟡 Minor (new features)

📋 Changelog Preview

This is how your changes will appear in the changelog.
Entries from this PR are highlighted with a left border (blockquote style).


New Features ✨

Openai

  • feat(openai): Set system instruction attribute for Responses API by alexander-alderman-webb in #5376
  • feat(openai): Set system instruction attribute for Completions API by alexander-alderman-webb in #5359

Openai Agents

  • feat(openai-agents): Set system instruction attribute on gen_ai.chat spans by alexander-alderman-webb in #5370
  • feat(openai-agents): Set system instruction attribute by alexander-alderman-webb in #5355

Other

  • feat(anthropic): Set system instruction attribute by alexander-alderman-webb in #5353
  • feat(google-genai): Set system instruction attribute by alexander-alderman-webb in #5354
  • feat(langchain): Set system instruction attribute by alexander-alderman-webb in #5357
  • feat(pydantic-ai): Set system instruction attribute by alexander-alderman-webb in #5356

Bug Fixes 🐛

  • fix(ai): Keep single content input message by alexander-alderman-webb in #5345

Internal Changes 🔧

  • ci(release): Fix changelog-preview permissions by BYK in #5368
  • ci: Fix path in AI integration tests by alexander-alderman-webb in #5347

🤖 This preview updates automatically when you update the PR.

@alexander-alderman-webb alexander-alderman-webb marked this pull request as ready for review January 26, 2026 09:41
@alexander-alderman-webb alexander-alderman-webb requested a review from a team as a code owner January 26, 2026 09:41
Copy link

@cursor cursor bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Bugbot Autofix is OFF. To automatically fix reported issues with Cloud Agents, enable Autofix in the Cursor dashboard.


non_system_messages = [
message for message in messages if not _is_system_instruction(message)
]
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Missing string input handling causes AttributeError crash

Medium Severity

The _set_input_data function declares messages can be str | list[TResponseInputItem] but doesn't handle strings. When messages is a string, the list comprehension iterates over individual characters, and line 168 then calls message.get("type") on each character, raising AttributeError: 'str' object has no attribute 'get'. The OpenAI integration's _set_responses_api_input_data handles this correctly with an if isinstance(messages, str): check that wraps the string and returns early.

Additional Locations (1)

Fix in Cursor Fix in Web

Copy link
Contributor Author

@alexander-alderman-webb alexander-alderman-webb Jan 26, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The code throws an exception when passed a string before, so I consider this out of scope.
The type is correct and we should fix this later on, but in practice the patched function is called with a list in code paths from Agent.run().

@alexander-alderman-webb alexander-alderman-webb changed the base branch from webb/openai-ai-prompt-message to webb/openai-responses-system-instruction January 26, 2026 12:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants