src/Action/Conversation.php
public function render()
    {
        $out = [];

        $out['expectUserResponse'] = $this->expectUserResponse;

        $items = [];
        $suggestions = [];
        $linkOutSuggestion = null;
        foreach ($this->messages as $message) {
            if ($message instanceof ResponseInterface) {
                $item = $message->renderRichResponseItem();

                if ($item) {
                    $items[] = $item;
                }
            }

            if ($message instanceof SuggestionInterface) {
                $rendered = $message->renderRichResponseSuggestion();

                if (is_array($rendered)) {
                    foreach ($rendered as $suggestion) {
                        $suggestions[] = ['title' => $suggestion];
                    }
                } elseif (is_string($rendered)) {
                    $suggestions[] = ['title' => $rendered];
                } else {
                    // do nothing
                }
            }

            if ($message instanceof LinkOutSuggestionInterface) {
                $linkOutSuggestion = $message->renderRichResponseLinkOutSuggestion();
            }

            if ($message instanceof QuestionInterface) {
                if ($item = $message->renderRichResponseItem()) {
                    $items[] = $item;
                }
            }
        }

        $out['richResponse']['items'] = $items;

        if (count($suggestions) > 0) {
            $out['richResponse']['suggestions'] = $suggestions;
        }

        if ($linkOutSuggestion) {
            $out['richResponse']['linkOutSuggestion'] = $linkOutSuggestion;
        }

        $systemIntent = null;
        foreach ($this->messages as $message) {
            if ($message instanceof QuestionInterface) {
                $systemIntent = $message->renderSystemIntent();
            }
        }

        if ($systemIntent) {
            $out['systemIntent'] = $systemIntent;
        }

        return $out;
    }
public function render()
    {
        $out = [];

        $out['expectUserResponse'] = $this->expectUserResponse;

        $items = [];
        $suggestions = [];
        $linkOutSuggestion = null;
        foreach ($this->messages as $message) {
            if ($message instanceof ResponseInterface) {
                $item = $message->renderRichResponseItem();

                if ($item) {
                    $items[] = $item;
                }
            }

            if ($message instanceof SuggestionInterface) {
                $rendered = $message->renderRichResponseSuggestion();

                if (is_array($rendered)) {
                    foreach ($rendered as $suggestion) {
                        $suggestions[] = ['title' => $suggestion];
                    }
                } elseif (is_string($rendered)) {
                    $suggestions[] = ['title' => $rendered];
                } else {
                    // do nothing
                }
            }

            if ($message instanceof LinkOutSuggestionInterface) {
                $linkOutSuggestion = $message->renderRichResponseLinkOutSuggestion();
            }

            if ($message instanceof QuestionInterface) {
                if ($item = $message->renderRichResponseItem()) {
                    $items[] = $item;
                }
            }
        }

        $out['richResponse']['items'] = $items;

        if (count($suggestions) > 0) {
            $out['richResponse']['suggestions'] = $suggestions;
        }

        if ($linkOutSuggestion) {
            $out['richResponse']['linkOutSuggestion'] = $linkOutSuggestion;
        }

        $systemIntent = null;
        foreach ($this->messages as $message) {
            if ($message instanceof QuestionInterface) {
                $systemIntent = $message->renderSystemIntent();
            }
        }

        if ($systemIntent) {
            $out['systemIntent'] = $systemIntent;
        }

        return $out;
    }
Render response as array.

@return array