where('workspace_id', $workspaceId) ->where('agent_id', $agentId) ->first(); if (! $node) { throw new \InvalidArgumentException('Fleet node not found'); } if ($task === '' || $repo === '') { throw new \InvalidArgumentException('repo and task are required'); } $fleetTask = FleetTask::create([ 'workspace_id' => $workspaceId, 'fleet_node_id' => $node->id, 'repo' => $repo, 'branch' => $branch, 'task' => $task, 'template' => $template, 'agent_model' => $agentModel, 'status' => FleetTask::STATUS_ASSIGNED, ]); $node->update([ 'status' => FleetNode::STATUS_BUSY, 'current_task_id' => $fleetTask->id, ]); return $fleetTask->fresh(); } }