Internal helper that invokes a single tool call against a resolved
tool, honouring the optional run-context contract, and packages the
result into a Mojentic.LLM.Tools.ToolCallOutcome.
Tools may accept either run/2 (the existing two-arg form,
run(tool, args)) or, when they implement
Mojentic.LLM.Tools.RunContext-aware semantics, run/3
(run(tool, args, ctx)). The invocation helper detects which is
exported and dispatches accordingly.
Summary
Functions
Resolve and invoke a single tool. Always returns a
ToolCallOutcome — exceptions are caught and surfaced as
ok?: false.