var geminiSession;

/**
 * Call Gemini Nano.
 */
async function sendPrompt(promptItem, responseItem) {
    if (!geminiSession) {
        console.log("no session created - create");
        geminiSession = await ai.assistant.create();
    };
    const prompt = promptItem.getValue();
    // one shot;
    // const response = await geminiSession.prompt(prompt);
    const stream = geminiSession.promptStreaming(prompt);
    for await (const chunk of stream) {
        responseItem.setValue(chunk);
    }
    // responseItem.setValue(response);
}

/**
 * Summarization
 */
async function sendSummarize(promptItem, responseItem) {
    const geminiSummarizer = await ai.summarizer.create();
    const prompt = promptItem.getValue();
    const response = await geminiSummarizer.summarize(prompt);
    responseItem.setValue(response);
}

/**
 * Reset session.
 */
function resetSession() {
    geminiSession = null;
}