$meta */ public function appendAgentMessage(string $sessionId, string $runId, string $content, array $meta = []): Message { return $this->chatService->appendMessage([ 'session_id' => $sessionId, 'role' => Message::ROLE_AGENT, 'type' => 'agent.message', 'content' => $content, 'payload' => array_merge($meta, ['run_id' => $runId]), ]); } /** * @param array $meta */ public function appendRunStatus(string $sessionId, string $runId, string $status, array $meta = []): Message { $dedupeKey = $meta['dedupe_key'] ?? null; unset($meta['dedupe_key']); return $this->chatService->appendMessage([ 'session_id' => $sessionId, 'role' => Message::ROLE_SYSTEM, 'type' => 'run.status', 'payload' => array_merge($meta, [ 'run_id' => $runId, 'status' => $status, ]), 'dedupe_key' => $dedupeKey, ]); } /** * @param array $meta */ public function appendError(string $sessionId, string $runId, string $code, string $message, array $meta = []): Message { return $this->chatService->appendMessage([ 'session_id' => $sessionId, 'role' => Message::ROLE_SYSTEM, 'type' => 'error', 'content' => $code, 'payload' => array_merge($meta, [ 'run_id' => $runId, 'message' => $message, ]), ]); } }