439ceb5d8e
Call, ReadResource and CallPositional each opened the connection map by hand, and Call took the mutex twice to answer one question. They now share lookup, which returns the client, the config and the tool in one critical section. dial did three things. Choosing the transport is openTransport, and recording a live connection is succeed, so the function reads as handshake then discovery. Also: argv is a method rather than an append repeated in dial and Status, the transport strings are constants, and the tail binding comes out of bindPositional as bindOne. The comment on filterTools claimed it drops nameless tools, which it never did. No behaviour change. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>