loadRecentMessages($sessionId); return new AgentContext( $runId, $sessionId, 'You are an agent inside ARS. Respond concisely in plain text.', $messages->map(function (Message $message) { return [ 'message_id' => $message->message_id, 'role' => $message->role, 'type' => $message->type, 'content' => $message->content, 'seq' => $message->seq, ]; })->values()->all() ); } private function loadRecentMessages(string $sessionId): Collection { return Message::query() ->where('session_id', $sessionId) ->whereIn('role', [Message::ROLE_USER, Message::ROLE_AGENT]) ->whereIn('type', ['user.prompt', 'agent.message']) ->orderByDesc('seq') ->limit($this->limit) ->get() ->sortBy('seq') ->values(); } }