blob: 2e60529472bdab8a86c99fbfdf44b39f8a6da64f [file] [log] [blame]
// Copyright 2025 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
module ai.mojom;
import "mojo/public/mojom/base/proto_wrapper.mojom";
// Represents an Enhanced Calendar Service request parameters.
struct EnhancedCalendarServiceRequestParams {
// The text that was selected by the user for which this Enhanced Calendar
// request is for.
string selected_text;
// Text surrounding the `selected text`, to help uniquely identify it within
// the page's innerText.
string surrounding_text;
// An optional prompt to override the default one.
string? optional_prompt;
};
// Represents the result of an Enhanced Calendar response. Only one of these
// fields can hold a value.
union EnhancedCalendarResponseResult {
mojo_base.mojom.ProtoWrapper response;
string error;
};
// Used to bridge a mojo service and execute server-side enhanced calendar
// feature requests. Different iOS mediators will instantiate, execute queries
// (by passing a completion callback) and finally destroy this service. As all
// things iOS, this runs and is used on the Browser process.
interface EnhancedCalendarService {
// Executes an enhanced calendar feature request. The result can either
// hold a wrapper of the EnhancedCalendarResponse proto, or an error
// string.
ExecuteEnhancedCalendarRequest(EnhancedCalendarServiceRequestParams request_params)
=> (EnhancedCalendarResponseResult result);
};