*/ public function build(string $sessionId, string $runId): array { $messages = $this->loadRecentMessages($sessionId); return [ 'run_id' => $runId, 'session_id' => $sessionId, 'system_prompt' => 'You are an agent inside ARS. Respond concisely in plain text.', 'messages' => $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(); } }