Feature request: add a configurable timeout to anna.tools.invoke

Hi Anna team,

I would like to request a configurable timeout option for anna.tools.invoke in Anna App frontends.

## Context

I am building an Anna App where the frontend calls an Executa tool with:

await anna.tools.invoke({

tool_id,

method,

args,

});

Inside the backend tool, the tool may call Anna LLM sampling or another LLM-backed workflow. That backend-side LLM call can have its own timeout or retry policy, but the frontend-to-tool invocation currently appears to have a fixed host/runtime timeout. When the backend work takes longer than that, the `tools.invoke` chain fails even if the backend operation is still valid and intentionally long-running.

The workaround is to redesign the tool as an asynchronous job API: start a job, return immediately, then have the frontend poll `get_status` / `get_result`. That pattern works, but it adds a fair amount of frontend and backend boilerplate for cases where the developer simply wants one longer-running tool call.

## Request

Could anna.tools.invoke accept an optional timeout parameter, for example:

await anna.tools.invoke({

tool_id,

method,

args,

timeoutMs: 180_000,

});

or an equivalent option shape:

await anna.tools.invoke(

{ tool_id, method, args },

{ timeoutMs: 180_000 }

);

The important part is that the app frontend can request a longer timeout for known long-running tool calls, while the platform can still enforce a maximum allowed value.

## What I observed locally

In my local environment:

- @anna-ai/cli: 0.1.14

- pinned local runtime: anna-app-runtime-local@0.2.0a2

- current docs/examples show tools.invoke args as { tool_id, method?, args }, with no timeout option

From the local runtime source I found that the local Executa JSON-RPC wait uses a fixed default:

async def _rpc(…, timeout: float = 65.0):

return await asyncio.wait_for(fut, timeout=timeout)

So the effective behavior seems to be a fixed ~65 second limit in local development. I am not sure whether production uses exactly the same value, but the public App UI Host API currently does not appear to expose any frontend-controlled timeout for `tools.invoke`.

## Why this would help

A configurable timeout would make it much easier to build Anna Apps that delegate substantial work to an Executa tool, especially workflows involving LLM planning, summarization, retrieval, report generation, or multi-step processing. Developers could still choose the async job/polling model when it is the better UX, but they would not be forced into that architecture solely because the frontend invoke timeout is fixed.

Thanks for considering this.

This support has been added!

For details, please refer to:
/developers/reference/host-api-tools/tools-invoke