Generated file

Copy as Markdown

Other Tools

// -*- mode: C++ -*-
// AUTOGENERATED BY glean_parser. DO NOT EDIT.
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
#ifndef mozilla_GleanAiwindowMetrics_h
#define mozilla_GleanAiwindowMetrics_h
#include "mozilla/glean/bindings/MetricTypes.h"
namespace mozilla::glean {
namespace smart_window {
/**
* generated from smart_window.add_tabs_click
*/
struct AddTabsClickExtra {
mozilla::Maybe<nsCString> chatId;
mozilla::Maybe<nsCString> location;
mozilla::Maybe<uint32_t> messageSeq;
mozilla::Maybe<uint32_t> tabsAvailable;
mozilla::Maybe<uint32_t> tabsPreselected;
std::tuple<nsTArray<nsCString>, nsTArray<nsCString>> ToFfiExtra() const {
nsTArray<nsCString> extraKeys;
nsTArray<nsCString> extraValues;
if (chatId) {
extraKeys.AppendElement()->AssignASCII("chat_id");
extraValues.EmplaceBack(chatId.value());
}
if (location) {
extraKeys.AppendElement()->AssignASCII("location");
extraValues.EmplaceBack(location.value());
}
if (messageSeq) {
extraKeys.AppendElement()->AssignASCII("message_seq");
extraValues.AppendElement()->AppendInt(messageSeq.value());
}
if (tabsAvailable) {
extraKeys.AppendElement()->AssignASCII("tabs_available");
extraValues.AppendElement()->AppendInt(tabsAvailable.value());
}
if (tabsPreselected) {
extraKeys.AppendElement()->AssignASCII("tabs_preselected");
extraValues.AppendElement()->AppendInt(tabsPreselected.value());
}
return std::make_tuple(std::move(extraKeys), std::move(extraValues));
}
};
/**
* Recorded when the user clicks the "+"-menu
*/
constexpr impl::EventMetric<AddTabsClickExtra> add_tabs_click(206);
/**
* generated from smart_window.add_tabs_selection
*/
struct AddTabsSelectionExtra {
mozilla::Maybe<nsCString> chatId;
mozilla::Maybe<nsCString> location;
mozilla::Maybe<uint32_t> messageSeq;
mozilla::Maybe<uint32_t> tabsAvailable;
mozilla::Maybe<uint32_t> tabsPreselected;
mozilla::Maybe<uint32_t> tabsSelected;
std::tuple<nsTArray<nsCString>, nsTArray<nsCString>> ToFfiExtra() const {
nsTArray<nsCString> extraKeys;
nsTArray<nsCString> extraValues;
if (chatId) {
extraKeys.AppendElement()->AssignASCII("chat_id");
extraValues.EmplaceBack(chatId.value());
}
if (location) {
extraKeys.AppendElement()->AssignASCII("location");
extraValues.EmplaceBack(location.value());
}
if (messageSeq) {
extraKeys.AppendElement()->AssignASCII("message_seq");
extraValues.AppendElement()->AppendInt(messageSeq.value());
}
if (tabsAvailable) {
extraKeys.AppendElement()->AssignASCII("tabs_available");
extraValues.AppendElement()->AppendInt(tabsAvailable.value());
}
if (tabsPreselected) {
extraKeys.AppendElement()->AssignASCII("tabs_preselected");
extraValues.AppendElement()->AppendInt(tabsPreselected.value());
}
if (tabsSelected) {
extraKeys.AppendElement()->AssignASCII("tabs_selected");
extraValues.AppendElement()->AppendInt(tabsSelected.value());
}
return std::make_tuple(std::move(extraKeys), std::move(extraValues));
}
};
/**
* Recorded when the user selected a tab
*/
constexpr impl::EventMetric<AddTabsSelectionExtra> add_tabs_selection(207);
/**
* generated from smart_window.chat_previous_session
*/
struct ChatPreviousSessionExtra {
mozilla::Maybe<uint32_t> tabs;
std::tuple<nsTArray<nsCString>, nsTArray<nsCString>> ToFfiExtra() const {
nsTArray<nsCString> extraKeys;
nsTArray<nsCString> extraValues;
if (tabs) {
extraKeys.AppendElement()->AssignASCII("tabs");
extraValues.AppendElement()->AppendInt(tabs.value());
}
return std::make_tuple(std::move(extraKeys), std::move(extraValues));
}
};
/**
* User clicks on previous session button
*/
constexpr impl::EventMetric<ChatPreviousSessionExtra> chat_previous_session(208);
/**
* generated from smart_window.chat_retrieved
*/
struct ChatRetrievedExtra {
mozilla::Maybe<nsCString> chatId;
mozilla::Maybe<nsCString> location;
mozilla::Maybe<uint32_t> numMessages;
mozilla::Maybe<uint32_t> timeDelta;
std::tuple<nsTArray<nsCString>, nsTArray<nsCString>> ToFfiExtra() const {
nsTArray<nsCString> extraKeys;
nsTArray<nsCString> extraValues;
if (chatId) {
extraKeys.AppendElement()->AssignASCII("chat_id");
extraValues.EmplaceBack(chatId.value());
}
if (location) {
extraKeys.AppendElement()->AssignASCII("location");
extraValues.EmplaceBack(location.value());
}
if (numMessages) {
extraKeys.AppendElement()->AssignASCII("num_messages");
extraValues.AppendElement()->AppendInt(numMessages.value());
}
if (timeDelta) {
extraKeys.AppendElement()->AssignASCII("time_delta");
extraValues.AppendElement()->AppendInt(timeDelta.value());
}
return std::make_tuple(std::move(extraKeys), std::move(extraValues));
}
};
/**
* User retrieves a chat from history
*/
constexpr impl::EventMetric<ChatRetrievedExtra> chat_retrieved(209);
/**
* generated from smart_window.chat_submit
*/
struct ChatSubmitExtra {
mozilla::Maybe<nsCString> chatId;
mozilla::Maybe<nsCString> detectedIntent;
mozilla::Maybe<nsCString> location;
mozilla::Maybe<uint32_t> memories;
mozilla::Maybe<uint32_t> mentions;
mozilla::Maybe<uint32_t> messageSeq;
mozilla::Maybe<nsCString> model;
mozilla::Maybe<nsCString> submitType;
mozilla::Maybe<uint32_t> tabs;
mozilla::Maybe<uint32_t> tokens;
std::tuple<nsTArray<nsCString>, nsTArray<nsCString>> ToFfiExtra() const {
nsTArray<nsCString> extraKeys;
nsTArray<nsCString> extraValues;
if (chatId) {
extraKeys.AppendElement()->AssignASCII("chat_id");
extraValues.EmplaceBack(chatId.value());
}
if (detectedIntent) {
extraKeys.AppendElement()->AssignASCII("detected_intent");
extraValues.EmplaceBack(detectedIntent.value());
}
if (location) {
extraKeys.AppendElement()->AssignASCII("location");
extraValues.EmplaceBack(location.value());
}
if (memories) {
extraKeys.AppendElement()->AssignASCII("memories");
extraValues.AppendElement()->AppendInt(memories.value());
}
if (mentions) {
extraKeys.AppendElement()->AssignASCII("mentions");
extraValues.AppendElement()->AppendInt(mentions.value());
}
if (messageSeq) {
extraKeys.AppendElement()->AssignASCII("message_seq");
extraValues.AppendElement()->AppendInt(messageSeq.value());
}
if (model) {
extraKeys.AppendElement()->AssignASCII("model");
extraValues.EmplaceBack(model.value());
}
if (submitType) {
extraKeys.AppendElement()->AssignASCII("submit_type");
extraValues.EmplaceBack(submitType.value());
}
if (tabs) {
extraKeys.AppendElement()->AssignASCII("tabs");
extraValues.AppendElement()->AppendInt(tabs.value());
}
if (tokens) {
extraKeys.AppendElement()->AssignASCII("tokens");
extraValues.AppendElement()->AppendInt(tokens.value());
}
return std::make_tuple(std::move(extraKeys), std::move(extraValues));
}
};
/**
* Recorded when the user submits a chat entry
*/
constexpr impl::EventMetric<ChatSubmitExtra> chat_submit(210);
/**
* generated from smart_window.get_page_content
*/
struct GetPageContentExtra {
mozilla::Maybe<nsCString> chatId;
mozilla::Maybe<uint32_t> length;
mozilla::Maybe<nsCString> location;
mozilla::Maybe<uint32_t> messageSeq;
mozilla::Maybe<uint32_t> time;
std::tuple<nsTArray<nsCString>, nsTArray<nsCString>> ToFfiExtra() const {
nsTArray<nsCString> extraKeys;
nsTArray<nsCString> extraValues;
if (chatId) {
extraKeys.AppendElement()->AssignASCII("chat_id");
extraValues.EmplaceBack(chatId.value());
}
if (length) {
extraKeys.AppendElement()->AssignASCII("length");
extraValues.AppendElement()->AppendInt(length.value());
}
if (location) {
extraKeys.AppendElement()->AssignASCII("location");
extraValues.EmplaceBack(location.value());
}
if (messageSeq) {
extraKeys.AppendElement()->AssignASCII("message_seq");
extraValues.AppendElement()->AppendInt(messageSeq.value());
}
if (time) {
extraKeys.AppendElement()->AssignASCII("time");
extraValues.AppendElement()->AppendInt(time.value());
}
return std::make_tuple(std::move(extraKeys), std::move(extraValues));
}
};
/**
* Browser reads the contents of a tab to include in chat result
*/
constexpr impl::EventMetric<GetPageContentExtra> get_page_content(211);
/**
* generated from smart_window.history_click
*/
struct HistoryClickExtra {
mozilla::Maybe<nsCString> chatId;
mozilla::Maybe<nsCString> location;
mozilla::Maybe<uint32_t> messageSeq;
mozilla::Maybe<uint32_t> position;
mozilla::Maybe<uint32_t> total;
std::tuple<nsTArray<nsCString>, nsTArray<nsCString>> ToFfiExtra() const {
nsTArray<nsCString> extraKeys;
nsTArray<nsCString> extraValues;
if (chatId) {
extraKeys.AppendElement()->AssignASCII("chat_id");
extraValues.EmplaceBack(chatId.value());
}
if (location) {
extraKeys.AppendElement()->AssignASCII("location");
extraValues.EmplaceBack(location.value());
}
if (messageSeq) {
extraKeys.AppendElement()->AssignASCII("message_seq");
extraValues.AppendElement()->AppendInt(messageSeq.value());
}
if (position) {
extraKeys.AppendElement()->AssignASCII("position");
extraValues.AppendElement()->AppendInt(position.value());
}
if (total) {
extraKeys.AppendElement()->AssignASCII("total");
extraValues.AppendElement()->AppendInt(total.value());
}
return std::make_tuple(std::move(extraKeys), std::move(extraValues));
}
};
/**
* User clicks on a history result
*/
constexpr impl::EventMetric<HistoryClickExtra> history_click(212);
/**
* generated from smart_window.history_displayed
*/
struct HistoryDisplayedExtra {
mozilla::Maybe<nsCString> chatId;
mozilla::Maybe<nsCString> location;
mozilla::Maybe<uint32_t> messageSeq;
mozilla::Maybe<nsCString> reason;
mozilla::Maybe<uint32_t> total;
std::tuple<nsTArray<nsCString>, nsTArray<nsCString>> ToFfiExtra() const {
nsTArray<nsCString> extraKeys;
nsTArray<nsCString> extraValues;
if (chatId) {
extraKeys.AppendElement()->AssignASCII("chat_id");
extraValues.EmplaceBack(chatId.value());
}
if (location) {
extraKeys.AppendElement()->AssignASCII("location");
extraValues.EmplaceBack(location.value());
}
if (messageSeq) {
extraKeys.AppendElement()->AssignASCII("message_seq");
extraValues.AppendElement()->AppendInt(messageSeq.value());
}
if (reason) {
extraKeys.AppendElement()->AssignASCII("reason");
extraValues.EmplaceBack(reason.value());
}
if (total) {
extraKeys.AppendElement()->AssignASCII("total");
extraValues.AppendElement()->AppendInt(total.value());
}
return std::make_tuple(std::move(extraKeys), std::move(extraValues));
}
};
/**
* Results from Ask History are displayed to the user
*/
constexpr impl::EventMetric<HistoryDisplayedExtra> history_displayed(213);
/**
* generated from smart_window.intent_change_preview
*/
struct IntentChangePreviewExtra {
mozilla::Maybe<nsCString> chatId;
mozilla::Maybe<nsCString> currentIntent;
mozilla::Maybe<nsCString> location;
mozilla::Maybe<uint32_t> messageSeq;
std::tuple<nsTArray<nsCString>, nsTArray<nsCString>> ToFfiExtra() const {
nsTArray<nsCString> extraKeys;
nsTArray<nsCString> extraValues;
if (chatId) {
extraKeys.AppendElement()->AssignASCII("chat_id");
extraValues.EmplaceBack(chatId.value());
}
if (currentIntent) {
extraKeys.AppendElement()->AssignASCII("current_intent");
extraValues.EmplaceBack(currentIntent.value());
}
if (location) {
extraKeys.AppendElement()->AssignASCII("location");
extraValues.EmplaceBack(location.value());
}
if (messageSeq) {
extraKeys.AppendElement()->AssignASCII("message_seq");
extraValues.AppendElement()->AppendInt(messageSeq.value());
}
return std::make_tuple(std::move(extraKeys), std::move(extraValues));
}
};
/**
* Recorded when the smartbar action menu is opened
*/
constexpr impl::EventMetric<IntentChangePreviewExtra> intent_change_preview(214);
/**
* generated from smart_window.link_click
*/
struct LinkClickExtra {
mozilla::Maybe<nsCString> chatId;
mozilla::Maybe<nsCString> location;
mozilla::Maybe<uint32_t> messageSeq;
std::tuple<nsTArray<nsCString>, nsTArray<nsCString>> ToFfiExtra() const {
nsTArray<nsCString> extraKeys;
nsTArray<nsCString> extraValues;
if (chatId) {
extraKeys.AppendElement()->AssignASCII("chat_id");
extraValues.EmplaceBack(chatId.value());
}
if (location) {
extraKeys.AppendElement()->AssignASCII("location");
extraValues.EmplaceBack(location.value());
}
if (messageSeq) {
extraKeys.AppendElement()->AssignASCII("message_seq");
extraValues.AppendElement()->AppendInt(messageSeq.value());
}
return std::make_tuple(std::move(extraKeys), std::move(extraValues));
}
};
/**
* User clicks a link within the response
*/
constexpr impl::EventMetric<LinkClickExtra> link_click(215);
/**
* generated from smart_window.memories_nuke
*/
/**
* User clicks on “Delete all” button for memories
*/
constexpr impl::EventMetric<NoExtraKeys> memories_nuke(216);
/**
* generated from smart_window.memories_panel_displayed
*/
struct MemoriesPanelDisplayedExtra {
mozilla::Maybe<uint32_t> memories;
mozilla::Maybe<nsCString> source;
std::tuple<nsTArray<nsCString>, nsTArray<nsCString>> ToFfiExtra() const {
nsTArray<nsCString> extraKeys;
nsTArray<nsCString> extraValues;
if (memories) {
extraKeys.AppendElement()->AssignASCII("memories");
extraValues.AppendElement()->AppendInt(memories.value());
}
if (source) {
extraKeys.AppendElement()->AssignASCII("source");
extraValues.EmplaceBack(source.value());
}
return std::make_tuple(std::move(extraKeys), std::move(extraValues));
}
};
/**
* User opens the memories preferences panel
*/
constexpr impl::EventMetric<MemoriesPanelDisplayedExtra> memories_panel_displayed(217);
/**
* generated from smart_window.memories_toggle
*/
struct MemoriesToggleExtra {
mozilla::Maybe<nsCString> chatId;
mozilla::Maybe<nsCString> location;
mozilla::Maybe<uint32_t> memories;
mozilla::Maybe<uint32_t> messageSeq;
mozilla::Maybe<bool> toggle;
std::tuple<nsTArray<nsCString>, nsTArray<nsCString>> ToFfiExtra() const {
nsTArray<nsCString> extraKeys;
nsTArray<nsCString> extraValues;
if (chatId) {
extraKeys.AppendElement()->AssignASCII("chat_id");
extraValues.EmplaceBack(chatId.value());
}
if (location) {
extraKeys.AppendElement()->AssignASCII("location");
extraValues.EmplaceBack(location.value());
}
if (memories) {
extraKeys.AppendElement()->AssignASCII("memories");
extraValues.AppendElement()->AppendInt(memories.value());
}
if (messageSeq) {
extraKeys.AppendElement()->AssignASCII("message_seq");
extraValues.AppendElement()->AppendInt(messageSeq.value());
}
if (toggle) {
extraKeys.AppendElement()->AssignASCII("toggle");
extraValues.AppendElement()->AssignASCII(toggle.value() ? "true" : "false");
}
return std::make_tuple(std::move(extraKeys), std::move(extraValues));
}
};
/**
* Recorded when the user clicks the toggle to turn memories on or off for that chat
*/
constexpr impl::EventMetric<MemoriesToggleExtra> memories_toggle(218);
/**
* generated from smart_window.memory_applied
*/
struct MemoryAppliedExtra {
mozilla::Maybe<nsCString> chatId;
mozilla::Maybe<nsCString> location;
mozilla::Maybe<uint32_t> messageSeq;
std::tuple<nsTArray<nsCString>, nsTArray<nsCString>> ToFfiExtra() const {
nsTArray<nsCString> extraKeys;
nsTArray<nsCString> extraValues;
if (chatId) {
extraKeys.AppendElement()->AssignASCII("chat_id");
extraValues.EmplaceBack(chatId.value());
}
if (location) {
extraKeys.AppendElement()->AssignASCII("location");
extraValues.EmplaceBack(location.value());
}
if (messageSeq) {
extraKeys.AppendElement()->AssignASCII("message_seq");
extraValues.AppendElement()->AppendInt(messageSeq.value());
}
return std::make_tuple(std::move(extraKeys), std::move(extraValues));
}
};
/**
* Triggered when a memory is used as part of query to provide response/results to user
*/
constexpr impl::EventMetric<MemoryAppliedExtra> memory_applied(219);
/**
* generated from smart_window.memory_applied_click
*/
struct MemoryAppliedClickExtra {
mozilla::Maybe<nsCString> chatId;
mozilla::Maybe<nsCString> location;
mozilla::Maybe<uint32_t> messageSeq;
std::tuple<nsTArray<nsCString>, nsTArray<nsCString>> ToFfiExtra() const {
nsTArray<nsCString> extraKeys;
nsTArray<nsCString> extraValues;
if (chatId) {
extraKeys.AppendElement()->AssignASCII("chat_id");
extraValues.EmplaceBack(chatId.value());
}
if (location) {
extraKeys.AppendElement()->AssignASCII("location");
extraValues.EmplaceBack(location.value());
}
if (messageSeq) {
extraKeys.AppendElement()->AssignASCII("message_seq");
extraValues.AppendElement()->AppendInt(messageSeq.value());
}
return std::make_tuple(std::move(extraKeys), std::move(extraValues));
}
};
/**
* User clicks on memories applied tooltip
*/
constexpr impl::EventMetric<MemoryAppliedClickExtra> memory_applied_click(220);
/**
* generated from smart_window.memory_removed_panel
*/
struct MemoryRemovedPanelExtra {
mozilla::Maybe<uint32_t> memories;
mozilla::Maybe<nsCString> trigger;
std::tuple<nsTArray<nsCString>, nsTArray<nsCString>> ToFfiExtra() const {
nsTArray<nsCString> extraKeys;
nsTArray<nsCString> extraValues;
if (memories) {
extraKeys.AppendElement()->AssignASCII("memories");
extraValues.AppendElement()->AppendInt(memories.value());
}
if (trigger) {
extraKeys.AppendElement()->AssignASCII("trigger");
extraValues.EmplaceBack(trigger.value());
}
return std::make_tuple(std::move(extraKeys), std::move(extraValues));
}
};
/**
* User removes a single memory from the memories panel
*/
constexpr impl::EventMetric<MemoryRemovedPanelExtra> memory_removed_panel(221);
/**
* generated from smart_window.mention_remove
*/
struct MentionRemoveExtra {
mozilla::Maybe<nsCString> chatId;
mozilla::Maybe<nsCString> location;
mozilla::Maybe<uint32_t> mentions;
mozilla::Maybe<uint32_t> messageSeq;
std::tuple<nsTArray<nsCString>, nsTArray<nsCString>> ToFfiExtra() const {
nsTArray<nsCString> extraKeys;
nsTArray<nsCString> extraValues;
if (chatId) {
extraKeys.AppendElement()->AssignASCII("chat_id");
extraValues.EmplaceBack(chatId.value());
}
if (location) {
extraKeys.AppendElement()->AssignASCII("location");
extraValues.EmplaceBack(location.value());
}
if (mentions) {
extraKeys.AppendElement()->AssignASCII("mentions");
extraValues.AppendElement()->AppendInt(mentions.value());
}
if (messageSeq) {
extraKeys.AppendElement()->AssignASCII("message_seq");
extraValues.AppendElement()->AppendInt(messageSeq.value());
}
return std::make_tuple(std::move(extraKeys), std::move(extraValues));
}
};
/**
* Recorded when an inline mention is removed
*/
constexpr impl::EventMetric<MentionRemoveExtra> mention_remove(222);
/**
* generated from smart_window.mention_select
*/
struct MentionSelectExtra {
mozilla::Maybe<nsCString> chatId;
mozilla::Maybe<uint32_t> length;
mozilla::Maybe<nsCString> location;
mozilla::Maybe<uint32_t> mentionsAvailable;
mozilla::Maybe<uint32_t> messageSeq;
std::tuple<nsTArray<nsCString>, nsTArray<nsCString>> ToFfiExtra() const {
nsTArray<nsCString> extraKeys;
nsTArray<nsCString> extraValues;
if (chatId) {
extraKeys.AppendElement()->AssignASCII("chat_id");
extraValues.EmplaceBack(chatId.value());
}
if (length) {
extraKeys.AppendElement()->AssignASCII("length");
extraValues.AppendElement()->AppendInt(length.value());
}
if (location) {
extraKeys.AppendElement()->AssignASCII("location");
extraValues.EmplaceBack(location.value());
}
if (mentionsAvailable) {
extraKeys.AppendElement()->AssignASCII("mentions_available");
extraValues.AppendElement()->AppendInt(mentionsAvailable.value());
}
if (messageSeq) {
extraKeys.AppendElement()->AssignASCII("message_seq");
extraValues.AppendElement()->AppendInt(messageSeq.value());
}
return std::make_tuple(std::move(extraKeys), std::move(extraValues));
}
};
/**
* Recorded when the user selects an inline mention from the list of suggestions
*/
constexpr impl::EventMetric<MentionSelectExtra> mention_select(223);
/**
* generated from smart_window.mention_start
*/
struct MentionStartExtra {
mozilla::Maybe<nsCString> chatId;
mozilla::Maybe<nsCString> location;
mozilla::Maybe<uint32_t> mentionsAvailable;
mozilla::Maybe<uint32_t> messageSeq;
std::tuple<nsTArray<nsCString>, nsTArray<nsCString>> ToFfiExtra() const {
nsTArray<nsCString> extraKeys;
nsTArray<nsCString> extraValues;
if (chatId) {
extraKeys.AppendElement()->AssignASCII("chat_id");
extraValues.EmplaceBack(chatId.value());
}
if (location) {
extraKeys.AppendElement()->AssignASCII("location");
extraValues.EmplaceBack(location.value());
}
if (mentionsAvailable) {
extraKeys.AppendElement()->AssignASCII("mentions_available");
extraValues.AppendElement()->AppendInt(mentionsAvailable.value());
}
if (messageSeq) {
extraKeys.AppendElement()->AssignASCII("message_seq");
extraValues.AppendElement()->AppendInt(messageSeq.value());
}
return std::make_tuple(std::move(extraKeys), std::move(extraValues));
}
};
/**
* Recorded when the user brings up a list of inline mentions by typing `@`
*/
constexpr impl::EventMetric<MentionStartExtra> mention_start(224);
/**
* generated from smart_window.model
* Records the model selected by the user, or “custom-model”
*/
constexpr impl::StringMetric model(225);
/**
* generated from smart_window.model_request
*/
struct ModelRequestExtra {
mozilla::Maybe<nsCString> chatId;
mozilla::Maybe<nsCString> detectedIntent;
mozilla::Maybe<nsCString> intent;
mozilla::Maybe<nsCString> location;
mozilla::Maybe<uint32_t> memories;
mozilla::Maybe<uint32_t> messageSeq;
mozilla::Maybe<nsCString> requestId;
mozilla::Maybe<uint32_t> tokens;
std::tuple<nsTArray<nsCString>, nsTArray<nsCString>> ToFfiExtra() const {
nsTArray<nsCString> extraKeys;
nsTArray<nsCString> extraValues;
if (chatId) {
extraKeys.AppendElement()->AssignASCII("chat_id");
extraValues.EmplaceBack(chatId.value());
}
if (detectedIntent) {
extraKeys.AppendElement()->AssignASCII("detected_intent");
extraValues.EmplaceBack(detectedIntent.value());
}
if (intent) {
extraKeys.AppendElement()->AssignASCII("intent");
extraValues.EmplaceBack(intent.value());
}
if (location) {
extraKeys.AppendElement()->AssignASCII("location");
extraValues.EmplaceBack(location.value());
}
if (memories) {
extraKeys.AppendElement()->AssignASCII("memories");
extraValues.AppendElement()->AppendInt(memories.value());
}
if (messageSeq) {
extraKeys.AppendElement()->AssignASCII("message_seq");
extraValues.AppendElement()->AppendInt(messageSeq.value());
}
if (requestId) {
extraKeys.AppendElement()->AssignASCII("request_id");
extraValues.EmplaceBack(requestId.value());
}
if (tokens) {
extraKeys.AppendElement()->AssignASCII("tokens");
extraValues.AppendElement()->AppendInt(tokens.value());
}
return std::make_tuple(std::move(extraKeys), std::move(extraValues));
}
};
/**
* A request is made to the backend model
*/
constexpr impl::EventMetric<ModelRequestExtra> model_request(226);
/**
* generated from smart_window.model_response
*/
struct ModelResponseExtra {
mozilla::Maybe<nsCString> chatId;
mozilla::Maybe<uint32_t> duration;
mozilla::Maybe<nsCString> error;
mozilla::Maybe<nsCString> intent;
mozilla::Maybe<uint32_t> latency;
mozilla::Maybe<nsCString> location;
mozilla::Maybe<uint32_t> memories;
mozilla::Maybe<uint32_t> messageSeq;
mozilla::Maybe<nsCString> model;
mozilla::Maybe<nsCString> requestId;
mozilla::Maybe<uint32_t> tokens;
std::tuple<nsTArray<nsCString>, nsTArray<nsCString>> ToFfiExtra() const {
nsTArray<nsCString> extraKeys;
nsTArray<nsCString> extraValues;
if (chatId) {
extraKeys.AppendElement()->AssignASCII("chat_id");
extraValues.EmplaceBack(chatId.value());
}
if (duration) {
extraKeys.AppendElement()->AssignASCII("duration");
extraValues.AppendElement()->AppendInt(duration.value());
}
if (error) {
extraKeys.AppendElement()->AssignASCII("error");
extraValues.EmplaceBack(error.value());
}
if (intent) {
extraKeys.AppendElement()->AssignASCII("intent");
extraValues.EmplaceBack(intent.value());
}
if (latency) {
extraKeys.AppendElement()->AssignASCII("latency");
extraValues.AppendElement()->AppendInt(latency.value());
}
if (location) {
extraKeys.AppendElement()->AssignASCII("location");
extraValues.EmplaceBack(location.value());
}
if (memories) {
extraKeys.AppendElement()->AssignASCII("memories");
extraValues.AppendElement()->AppendInt(memories.value());
}
if (messageSeq) {
extraKeys.AppendElement()->AssignASCII("message_seq");
extraValues.AppendElement()->AppendInt(messageSeq.value());
}
if (model) {
extraKeys.AppendElement()->AssignASCII("model");
extraValues.EmplaceBack(model.value());
}
if (requestId) {
extraKeys.AppendElement()->AssignASCII("request_id");
extraValues.EmplaceBack(requestId.value());
}
if (tokens) {
extraKeys.AppendElement()->AssignASCII("tokens");
extraValues.AppendElement()->AppendInt(tokens.value());
}
return std::make_tuple(std::move(extraKeys), std::move(extraValues));
}
};
/**
* A response is received from the backend model
*/
constexpr impl::EventMetric<ModelResponseExtra> model_response(227);
/**
* generated from smart_window.navigate_submit
*/
struct NavigateSubmitExtra {
mozilla::Maybe<nsCString> chatId;
mozilla::Maybe<nsCString> detectedIntent;
mozilla::Maybe<nsCString> location;
mozilla::Maybe<uint32_t> messageSeq;
mozilla::Maybe<nsCString> model;
mozilla::Maybe<nsCString> submitType;
std::tuple<nsTArray<nsCString>, nsTArray<nsCString>> ToFfiExtra() const {
nsTArray<nsCString> extraKeys;
nsTArray<nsCString> extraValues;
if (chatId) {
extraKeys.AppendElement()->AssignASCII("chat_id");
extraValues.EmplaceBack(chatId.value());
}
if (detectedIntent) {
extraKeys.AppendElement()->AssignASCII("detected_intent");
extraValues.EmplaceBack(detectedIntent.value());
}
if (location) {
extraKeys.AppendElement()->AssignASCII("location");
extraValues.EmplaceBack(location.value());
}
if (messageSeq) {
extraKeys.AppendElement()->AssignASCII("message_seq");
extraValues.AppendElement()->AppendInt(messageSeq.value());
}
if (model) {
extraKeys.AppendElement()->AssignASCII("model");
extraValues.EmplaceBack(model.value());
}
if (submitType) {
extraKeys.AppendElement()->AssignASCII("submit_type");
extraValues.EmplaceBack(submitType.value());
}
return std::make_tuple(std::move(extraKeys), std::move(extraValues));
}
};
/**
* Recorded when the user navigates to a URL
*/
constexpr impl::EventMetric<NavigateSubmitExtra> navigate_submit(228);
/**
* generated from smart_window.onboarding_complete
*/
/**
* Indicates if user completed onboarding successfully
*/
constexpr impl::EventMetric<NoExtraKeys> onboarding_complete(229);
/**
* generated from smart_window.onboarding_model_navigate
*/
struct OnboardingModelNavigateExtra {
mozilla::Maybe<nsCString> model;
std::tuple<nsTArray<nsCString>, nsTArray<nsCString>> ToFfiExtra() const {
nsTArray<nsCString> extraKeys;
nsTArray<nsCString> extraValues;
if (model) {
extraKeys.AppendElement()->AssignASCII("model");
extraValues.EmplaceBack(model.value());
}
return std::make_tuple(std::move(extraKeys), std::move(extraValues));
}
};
/**
* Recorded when user clicks done on the model selection screen
*/
constexpr impl::EventMetric<OnboardingModelNavigateExtra> onboarding_model_navigate(230);
/**
* generated from smart_window.onboarding_model_selected
*/
struct OnboardingModelSelectedExtra {
mozilla::Maybe<nsCString> model;
std::tuple<nsTArray<nsCString>, nsTArray<nsCString>> ToFfiExtra() const {
nsTArray<nsCString> extraKeys;
nsTArray<nsCString> extraValues;
if (model) {
extraKeys.AppendElement()->AssignASCII("model");
extraValues.EmplaceBack(model.value());
}
return std::make_tuple(std::move(extraKeys), std::move(extraValues));
}
};
/**
* Recorded when user selects a model for Smart Window during onboarding
*/
constexpr impl::EventMetric<OnboardingModelSelectedExtra> onboarding_model_selected(231);
/**
* generated from smart_window.onboarding_screen_impression
*/
struct OnboardingScreenImpressionExtra {
mozilla::Maybe<nsCString> messageId;
std::tuple<nsTArray<nsCString>, nsTArray<nsCString>> ToFfiExtra() const {
nsTArray<nsCString> extraKeys;
nsTArray<nsCString> extraValues;
if (messageId) {
extraKeys.AppendElement()->AssignASCII("message_id");
extraValues.EmplaceBack(messageId.value());
}
return std::make_tuple(std::move(extraKeys), std::move(extraValues));
}
};
/**
* Recorded when onboarding screen is displayed in smart window mode
*/
constexpr impl::EventMetric<OnboardingScreenImpressionExtra> onboarding_screen_impression(232);
/**
* generated from smart_window.open_window
*/
struct OpenWindowExtra {
mozilla::Maybe<bool> fxa;
mozilla::Maybe<bool> onboarding;
mozilla::Maybe<nsCString> trigger;
std::tuple<nsTArray<nsCString>, nsTArray<nsCString>> ToFfiExtra() const {
nsTArray<nsCString> extraKeys;
nsTArray<nsCString> extraValues;
if (fxa) {
extraKeys.AppendElement()->AssignASCII("fxa");
extraValues.AppendElement()->AssignASCII(fxa.value() ? "true" : "false");
}
if (onboarding) {
extraKeys.AppendElement()->AssignASCII("onboarding");
extraValues.AppendElement()->AssignASCII(onboarding.value() ? "true" : "false");
}
if (trigger) {
extraKeys.AppendElement()->AssignASCII("trigger");
extraValues.EmplaceBack(trigger.value());
}
return std::make_tuple(std::move(extraKeys), std::move(extraValues));
}
};
/**
* Recorded when a Smart Window is opened
*/
constexpr impl::EventMetric<OpenWindowExtra> open_window(233);
/**
* generated from smart_window.quick_prompt_clicked
*/
struct QuickPromptClickedExtra {
mozilla::Maybe<nsCString> chatId;
mozilla::Maybe<nsCString> location;
mozilla::Maybe<uint32_t> messageSeq;
mozilla::Maybe<bool> starter;
std::tuple<nsTArray<nsCString>, nsTArray<nsCString>> ToFfiExtra() const {
nsTArray<nsCString> extraKeys;
nsTArray<nsCString> extraValues;
if (chatId) {
extraKeys.AppendElement()->AssignASCII("chat_id");
extraValues.EmplaceBack(chatId.value());
}
if (location) {
extraKeys.AppendElement()->AssignASCII("location");
extraValues.EmplaceBack(location.value());
}
if (messageSeq) {
extraKeys.AppendElement()->AssignASCII("message_seq");
extraValues.AppendElement()->AppendInt(messageSeq.value());
}
if (starter) {
extraKeys.AppendElement()->AssignASCII("starter");
extraValues.AppendElement()->AssignASCII(starter.value() ? "true" : "false");
}
return std::make_tuple(std::move(extraKeys), std::move(extraValues));
}
};
/**
* Recorded when the user selects a prompt suggestion in smart window mode
*/
constexpr impl::EventMetric<QuickPromptClickedExtra> quick_prompt_clicked(234);
/**
* generated from smart_window.quick_prompt_displayed
*/
struct QuickPromptDisplayedExtra {
mozilla::Maybe<nsCString> chatId;
mozilla::Maybe<nsCString> location;
mozilla::Maybe<uint32_t> messageSeq;
mozilla::Maybe<uint32_t> prompts;
std::tuple<nsTArray<nsCString>, nsTArray<nsCString>> ToFfiExtra() const {
nsTArray<nsCString> extraKeys;
nsTArray<nsCString> extraValues;
if (chatId) {
extraKeys.AppendElement()->AssignASCII("chat_id");
extraValues.EmplaceBack(chatId.value());
}
if (location) {
extraKeys.AppendElement()->AssignASCII("location");
extraValues.EmplaceBack(location.value());
}
if (messageSeq) {
extraKeys.AppendElement()->AssignASCII("message_seq");
extraValues.AppendElement()->AppendInt(messageSeq.value());
}
if (prompts) {
extraKeys.AppendElement()->AssignASCII("prompts");
extraValues.AppendElement()->AppendInt(prompts.value());
}
return std::make_tuple(std::move(extraKeys), std::move(extraValues));
}
};
/**
* User is presented with one or more quick prompts
*/
constexpr impl::EventMetric<QuickPromptDisplayedExtra> quick_prompt_displayed(235);
/**
* generated from smart_window.remove_tab
*/
struct RemoveTabExtra {
mozilla::Maybe<nsCString> chatId;
mozilla::Maybe<nsCString> location;
mozilla::Maybe<uint32_t> messageSeq;
mozilla::Maybe<uint32_t> tabsSelected;
std::tuple<nsTArray<nsCString>, nsTArray<nsCString>> ToFfiExtra() const {
nsTArray<nsCString> extraKeys;
nsTArray<nsCString> extraValues;
if (chatId) {
extraKeys.AppendElement()->AssignASCII("chat_id");
extraValues.EmplaceBack(chatId.value());
}
if (location) {
extraKeys.AppendElement()->AssignASCII("location");
extraValues.EmplaceBack(location.value());
}
if (messageSeq) {
extraKeys.AppendElement()->AssignASCII("message_seq");
extraValues.AppendElement()->AppendInt(messageSeq.value());
}
if (tabsSelected) {
extraKeys.AppendElement()->AssignASCII("tabs_selected");
extraValues.AppendElement()->AppendInt(tabsSelected.value());
}
return std::make_tuple(std::move(extraKeys), std::move(extraValues));
}
};
/**
* Recorded when the user removes a tab
*/
constexpr impl::EventMetric<RemoveTabExtra> remove_tab(236);
/**
* generated from smart_window.retry_no_memories
*/
struct RetryNoMemoriesExtra {
mozilla::Maybe<nsCString> chatId;
mozilla::Maybe<nsCString> location;
mozilla::Maybe<uint32_t> messageSeq;
std::tuple<nsTArray<nsCString>, nsTArray<nsCString>> ToFfiExtra() const {
nsTArray<nsCString> extraKeys;
nsTArray<nsCString> extraValues;
if (chatId) {
extraKeys.AppendElement()->AssignASCII("chat_id");
extraValues.EmplaceBack(chatId.value());
}
if (location) {
extraKeys.AppendElement()->AssignASCII("location");
extraValues.EmplaceBack(location.value());
}
if (messageSeq) {
extraKeys.AppendElement()->AssignASCII("message_seq");
extraValues.AppendElement()->AppendInt(messageSeq.value());
}
return std::make_tuple(std::move(extraKeys), std::move(extraValues));
}
};
/**
* User selects retry without memories
*/
constexpr impl::EventMetric<RetryNoMemoriesExtra> retry_no_memories(237);
/**
* generated from smart_window.search_submit
*/
struct SearchSubmitExtra {
mozilla::Maybe<nsCString> chatId;
mozilla::Maybe<nsCString> detectedIntent;
mozilla::Maybe<uint32_t> length;
mozilla::Maybe<nsCString> location;
mozilla::Maybe<uint32_t> messageSeq;
mozilla::Maybe<nsCString> model;
mozilla::Maybe<nsCString> provider;
std::tuple<nsTArray<nsCString>, nsTArray<nsCString>> ToFfiExtra() const {
nsTArray<nsCString> extraKeys;
nsTArray<nsCString> extraValues;
if (chatId) {
extraKeys.AppendElement()->AssignASCII("chat_id");
extraValues.EmplaceBack(chatId.value());
}
if (detectedIntent) {
extraKeys.AppendElement()->AssignASCII("detected_intent");
extraValues.EmplaceBack(detectedIntent.value());
}
if (length) {
extraKeys.AppendElement()->AssignASCII("length");
extraValues.AppendElement()->AppendInt(length.value());
}
if (location) {
extraKeys.AppendElement()->AssignASCII("location");
extraValues.EmplaceBack(location.value());
}
if (messageSeq) {
extraKeys.AppendElement()->AssignASCII("message_seq");
extraValues.AppendElement()->AppendInt(messageSeq.value());
}
if (model) {
extraKeys.AppendElement()->AssignASCII("model");
extraValues.EmplaceBack(model.value());
}
if (provider) {
extraKeys.AppendElement()->AssignASCII("provider");
extraValues.EmplaceBack(provider.value());
}
return std::make_tuple(std::move(extraKeys), std::move(extraValues));
}
};
/**
* Recorded when the user runs a search query
*/
constexpr impl::EventMetric<SearchSubmitExtra> search_submit(238);
/**
* generated from smart_window.settings_memories
*/
struct SettingsMemoriesExtra {
mozilla::Maybe<bool> enabled;
mozilla::Maybe<nsCString> type;
std::tuple<nsTArray<nsCString>, nsTArray<nsCString>> ToFfiExtra() const {
nsTArray<nsCString> extraKeys;
nsTArray<nsCString> extraValues;
if (enabled) {
extraKeys.AppendElement()->AssignASCII("enabled");
extraValues.AppendElement()->AssignASCII(enabled.value() ? "true" : "false");
}
if (type) {
extraKeys.AppendElement()->AssignASCII("type");
extraValues.EmplaceBack(type.value());
}
return std::make_tuple(std::move(extraKeys), std::move(extraValues));
}
};
/**
* User interacts with the checkboxes to change memories settings
*/
constexpr impl::EventMetric<SettingsMemoriesExtra> settings_memories(239);
/**
* generated from smart_window.settings_model
*/
struct SettingsModelExtra {
mozilla::Maybe<nsCString> newModel;
mozilla::Maybe<nsCString> previousModel;
std::tuple<nsTArray<nsCString>, nsTArray<nsCString>> ToFfiExtra() const {
nsTArray<nsCString> extraKeys;
nsTArray<nsCString> extraValues;
if (newModel) {
extraKeys.AppendElement()->AssignASCII("new_model");
extraValues.EmplaceBack(newModel.value());
}
if (previousModel) {
extraKeys.AppendElement()->AssignASCII("previous_model");
extraValues.EmplaceBack(previousModel.value());
}
return std::make_tuple(std::move(extraKeys), std::move(extraValues));
}
};
/**
* User selects a different model from the settings page
*/
constexpr impl::EventMetric<SettingsModelExtra> settings_model(240);
/**
* generated from smart_window.sidebar_close
*/
struct SidebarCloseExtra {
mozilla::Maybe<nsCString> chatId;
mozilla::Maybe<uint32_t> messageSeq;
std::tuple<nsTArray<nsCString>, nsTArray<nsCString>> ToFfiExtra() const {
nsTArray<nsCString> extraKeys;
nsTArray<nsCString> extraValues;
if (chatId) {
extraKeys.AppendElement()->AssignASCII("chat_id");
extraValues.EmplaceBack(chatId.value());
}
if (messageSeq) {
extraKeys.AppendElement()->AssignASCII("message_seq");
extraValues.AppendElement()->AppendInt(messageSeq.value());
}
return std::make_tuple(std::move(extraKeys), std::move(extraValues));
}
};
/**
* Recorded when the Smart Window sidebar is closed
*/
constexpr impl::EventMetric<SidebarCloseExtra> sidebar_close(241);
/**
* generated from smart_window.sidebar_open
*/
struct SidebarOpenExtra {
mozilla::Maybe<nsCString> chatId;
mozilla::Maybe<uint32_t> messageSeq;
std::tuple<nsTArray<nsCString>, nsTArray<nsCString>> ToFfiExtra() const {
nsTArray<nsCString> extraKeys;
nsTArray<nsCString> extraValues;
if (chatId) {
extraKeys.AppendElement()->AssignASCII("chat_id");
extraValues.EmplaceBack(chatId.value());
}
if (messageSeq) {
extraKeys.AppendElement()->AssignASCII("message_seq");
extraValues.AppendElement()->AppendInt(messageSeq.value());
}
return std::make_tuple(std::move(extraKeys), std::move(extraValues));
}
};
/**
* Recorded when the Smart Window sidebar is opened
*/
constexpr impl::EventMetric<SidebarOpenExtra> sidebar_open(242);
/**
* generated from smart_window.tabs_opened
* The number of Smart Window tabs opened in the current ping session
*/
constexpr impl::CounterMetric<impl::CounterType::eBaseOrLabeled> tabs_opened(243);
/**
* generated from smart_window.uri_load
*/
struct UriLoadExtra {
mozilla::Maybe<nsCString> model;
std::tuple<nsTArray<nsCString>, nsTArray<nsCString>> ToFfiExtra() const {
nsTArray<nsCString> extraKeys;
nsTArray<nsCString> extraValues;
if (model) {
extraKeys.AppendElement()->AssignASCII("model");
extraValues.EmplaceBack(model.value());
}
return std::make_tuple(std::move(extraKeys), std::move(extraValues));
}
};
/**
* User opens a URI in the Smart Window (includes session restore and external link). This event is sent at most once per hour to indicate Smart Window activity.
*/
constexpr impl::EventMetric<UriLoadExtra> uri_load(244);
}
} // namespace mozilla::glean
#endif // mozilla_GleanAiwindowMetrics_h