Update the documentation a bit wrt switch from simpleproxy to
simplemcp with mcp-ish kind of handshake between the chat client
and simplemcp.
Rename proxyUrl and related to mcpServerUrl and mcpServerAuth.
Now include the path in the url itself, given that in future,
we may want to allow the chat client logic to handshake with
other mcp servers, which may expose their services through a
different path or so.
Drop SearchEngine related config entries from chat session
settings, given that its now controlled directly in SimpleMCP.
Move the search web tool call also from previous js client + python
simpleproxy based logic to the new simplemcp based logic, while
following the same overall logic of reusing the HtmlText's equiv
logic with now predefined and user non-replacable (at runtime)
tagDrops and template urls
Given toolcall.py maintains ToolCall, ToolManager and MCP related
types and base classes, so rename to toolcalls.py
Also add the bash script with curl used for testing the tools/list
mcp command.
Remove the sample function meta ref, as tools/list is working ok.
Define a typealias for HttpHeaders and use it where ever needed.
Inturn map this to email.message.Message and dict for now.
If and when python evolves Http Headers type into better one,
need to replace in only one place.
Add a ToolManager class which
* maintains the list of tool calls and inturn allows any given
tool call to be executed and response returned along with needed
meta data
* generate the overall tool calls meta data
* add ToolCallResponseEx which maintains full TCOutResponse for
use by tc_handle callers
Avoid duplicating handling of some of the basic needed http header
entries.
Move checking for any dependencies before enabling a tool call into
respective tc??? module.
* for now this also demotes the logic from the previous fine grained
per tool call based dependency check to a more global dep check at
the respective module level
Also remember to picks the tagDropREs from passed args object and
not from got http header.
Even TCHtmlText updated to get the tags to drop from passed args
object and not got http header. And inturn allow ai to pass this
optional arg, as it sees fit in co-ordination with user.