POST /v2/actor-tasks/{actorTaskId}/runs accepts maxTotalChargeUsd, and the JS client sends it from task.start(). TaskClient and TaskClientAsync don't take it in start() or call(), so a task run can't be given a charge limit.
Add max_total_charge_usd: Decimal | None = None to both methods in both classes, as in ActorClient.start() and call().
The SDK needs it for apify/apify-sdk-python#1155, where named child runs share the parent's charge budget. A named Actor.call_task() under a budget set by the user raises RuntimeError for now, since the task run can't get a limit.
✍️ Drafted by Claude Code
POST /v2/actor-tasks/{actorTaskId}/runsacceptsmaxTotalChargeUsd, and the JS client sends it fromtask.start().TaskClientandTaskClientAsyncdon't take it instart()orcall(), so a task run can't be given a charge limit.Add
max_total_charge_usd: Decimal | None = Noneto both methods in both classes, as inActorClient.start()andcall().The SDK needs it for apify/apify-sdk-python#1155, where named child runs share the parent's charge budget. A named
Actor.call_task()under a budget set by the user raisesRuntimeErrorfor now, since the task run can't get a limit.✍️ Drafted by Claude Code