Creating a call to an AI model is the easy part. A request, a JSON body, a content field on the way back. If that were the work, nobody would need a package.

The work is everything around it, and it is the same work in every product that ships an assistant: a loop that runs your tools and knows when to stop, conversations that survive their own context window, memory that outlives a session, rules somebody wrote that outrank whatever the model feels like doing, and agents that fire on your events instead of waiting to be typed at.

I wrote all of that twice, in two applications, and the second time I extracted it. It is called laragents.

composer require edulazaro/laragents

php artisan vendor:publish --tag=laragents-config