Software contractor A has been under a remote-working contract to company B for a long-term project.
During the time-span of the contract, A wrote some build-related tools, which were included in the project as part of the build process.
The build tools accomplish something that was one of the project requirements, however they're generally useful and are therefore written to be general in purpose.
A has delivered the project source with the build tool binaries, and is soon to end the contract, but does not wish to disclose the source for the tools without extra consideration for the work involved in writing them.
B feels that lack of the source code for the build tools is a risk, and that the tools' inclusion in the project as a dependency means that their source should also be included.
Is A acting within reason by not including the source for the tools?