fix: preserve LangGraph tool lifecycles when provider tool call IDs repeat across steps (#18837)