receiving, at a server, a user request for execution of one or more tool calls;
generating, by a large language model (LLM), a code block in a programming language, the code block configured to encapsulate the one or more tool calls;
executing, by the server, the code block in a sandbox;
in response to obtaining a pending tool call, pausing execution of the code block;
transmitting the pending tool call to a client for execution;
receiving, from the client, a first result of the pending tool call;
resuming execution of the code block and substituting the first result of the pending tool call for the pending tool call in the code block; and
returning a second result of the executed code block to the LLM.
. A method, comprising: