The proxy is the AAuth side of an MCP tool call: it fetches resource
metadata, obtains person and auth tokens from the Person Server, and
signs the request to the resource. A host can log the JSON-RPC boundary
itself, but nothing outside this package could see the exchange.
New optional `log` on ProxyDeps and ProxyConfig (type ProxyLog,
exported). Events: `tool.call` once per tool invocation (tool, resource,
op_id, account as a boolean, items/resources for connect_resources, ok,
error, duration_ms); `aauth.request` for every signed request via
signWith or the registry fetch (credential kind, method, origin+path,
status, AAuth-Requirement, duration_ms); `resource.fetch` for the
well-known document; `person_token.hit` for a cache hit. Token values,
bodies, invoke's path_params/query/body and the account value are never
carried. buildProxyTools copies deps.log onto the resolved config in
place, so the WeakMap-keyed default stores keep their identity.
Claude-Session: https://claude.ai/code/session_018WoJrjcFQyVEyxS8jqqChq
Co-authored-by: dickhardt <dick.hardt@gmail.com>
Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>