#include "third_party/blink/renderer/modules/ai/ai_text_session_factory.h"
#include "base/metrics/histogram_functions.h"
#include "base/types/pass_key.h"
#include "third_party/blink/public/mojom/ai/ai_manager.mojom-blink.h"
#include "third_party/blink/public/mojom/ai/ai_text_session_info.mojom-blink.h"
#include "third_party/blink/renderer/core/inspector/console_message.h"
#include "third_party/blink/renderer/modules/ai/ai_text_session.h"
#include "third_party/blink/renderer/modules/ai/exception_helpers.h"
#include "third_party/blink/renderer/platform/bindings/exception_code.h"
#include "third_party/blink/renderer/platform/bindings/exception_state.h"
namespace blink {
AITextSessionFactory::AITextSessionFactory(
ExecutionContext* context,
scoped_refptr<base::SequencedTaskRunner> task_runner)
: … { … }
void AITextSessionFactory::Trace(Visitor* visitor) const { … }
HeapMojoRemote<mojom::blink::AIManager>& AITextSessionFactory::GetAIRemote() { … }
void AITextSessionFactory::CanCreateTextSession(
AIMetrics::AISessionType session_type,
CanCreateTextSessionCallback callback) { … }
void AITextSessionFactory::CreateTextSession(
AIMetrics::AISessionType session_type,
mojom::blink::AITextSessionSamplingParamsPtr sampling_params,
const WTF::String& system_prompt,
CreateTextSessionCallback callback) { … }
}