AI node executions auto-highlight chat data

Chat, Respond To Chat, and Tools Agent nodes now automatically tag their input and response data for easier execution filtering.
When debugging AI workflows, finding the right execution often meant digging through logs for the exact prompt sent and response received. This PR makes that friction disappear.
Chat Trigger, Respond To Chat, and Tools Agent nodes now automatically save their input messages and AI responses as execution metadata. This data appears in the Executions view, making it simple to filter by the exact chat that triggered a workflow run.
The feature works automatically on new executions, with an option to disable it per-node. Keys follow a consistent pattern: input_chat_trigger for incoming messages, response_chat_trigger for AI replies, and session_id for session tracking.
Behind the scenes, a new customData API gives nodes a clean interface for setting and retrieving execution metadata. The utility was refactored out of the existing getAdditionalKeys function into a reusable createExecutionCustomData factory.
The change applies to the n8n workflow engine, LangChain node package, and CLI's chat hub service.
View Original GitHub Description
Summary
Auto-add highlighted execution data in "Chat Trigger", "Respond To Chat", and "Tools Agent" nodes (more nodes to follow).
<img width="680" height="556" alt="image" src="https://github.com/user-attachments/assets/0d214262-e72b-4e7e-be0c-dbf1934feaa7" />The keys include the node name in snake_case.
<img width="971" height="548" alt="image" src="https://github.com/user-attachments/assets/95ee9192-2fbb-42c3-acd5-e81b97ebf69f" />Each node has an option to disable this new behavior (default=true).
Related Linear tickets, Github issues, and Community forum posts
https://linear.app/n8n/issue/NODE-2479/auto-highlight-selected-ai-execution-data
Review / Merge checklist
- PR title and summary are descriptive. (conventions) <!-- **Remember, the title automatically goes into the changelog. Use `(no-changelog)` otherwise.** -->
- Docs updated or follow-up ticket created.
- Tests included. <!-- A bug is not considered fixed, unless a test is added to prevent it from happening again. A feature is not complete without tests. -->
- PR Labeled with
release/backport(if the PR is an urgent fix that needs to be backported)