use Revolution\Copilot\Facades\Copilot;
use Revolution\Copilot\Contracts\CopilotSession;
use Revolution\Copilot\Types\UserInputRequest;
use Revolution\Copilot\Types\UserInputResponse;
Copilot::start(function (CopilotSession $session) {
$response = $session->sendAndWait(prompt: 'ユーザーに好きな言語を聞いて');
dump($response->content());
}, config: [
'model' => 'gpt-5',
'onUserInputRequest' => function (UserInputRequest $request): UserInputResponse {
// $request->question - 質問内容
// $request->choices - 複数選択肢の配列(オプション)
// $request->allowFreeform - 自由入力が許可されているか(デフォルト: true)
dump("Question from agent: {$request->question}");
if ($request->choices) {
dump('Choices: '.implode(', ', $request->choices));
}
// ユーザーの回答を返す
return new UserInputResponse(
answer: 'PHP',
wasFreeform: true, // 選択肢からではなく自由入力だったか
);
},
]);