$limits * @return array * * @throws \InvalidArgumentException */ public function handle(int $workspaceId, string $agentId, array $limits): array { $node = FleetNode::query() ->where('workspace_id', $workspaceId) ->where('agent_id', $agentId) ->first(); if (! $node) { throw new \InvalidArgumentException('Fleet node not found'); } $node->update([ 'compute_budget' => array_merge($node->compute_budget ?? [], $limits), 'last_heartbeat_at' => now(), ]); return $node->fresh()->compute_budget ?? []; } }