WAAICommon.proto 23 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871
  1. syntax = "proto2";
  2. package WAAICommon;
  3. option go_package = "go.mau.fi/whatsmeow/proto/waAICommon";
  4. import "waCommon/WACommon.proto";
  5. enum BotMetricsEntryPoint {
  6. UNDEFINED_ENTRY_POINT = 0;
  7. FAVICON = 1;
  8. CHATLIST = 2;
  9. AISEARCH_NULL_STATE_PAPER_PLANE = 3;
  10. AISEARCH_NULL_STATE_SUGGESTION = 4;
  11. AISEARCH_TYPE_AHEAD_SUGGESTION = 5;
  12. AISEARCH_TYPE_AHEAD_PAPER_PLANE = 6;
  13. AISEARCH_TYPE_AHEAD_RESULT_CHATLIST = 7;
  14. AISEARCH_TYPE_AHEAD_RESULT_MESSAGES = 8;
  15. AIVOICE_SEARCH_BAR = 9;
  16. AIVOICE_FAVICON = 10;
  17. AISTUDIO = 11;
  18. DEEPLINK = 12;
  19. NOTIFICATION = 13;
  20. PROFILE_MESSAGE_BUTTON = 14;
  21. FORWARD = 15;
  22. APP_SHORTCUT = 16;
  23. FF_FAMILY = 17;
  24. AI_TAB = 18;
  25. AI_HOME = 19;
  26. AI_DEEPLINK_IMMERSIVE = 20;
  27. AI_DEEPLINK = 21;
  28. META_AI_CHAT_SHORTCUT_AI_STUDIO = 22;
  29. UGC_CHAT_SHORTCUT_AI_STUDIO = 23;
  30. NEW_CHAT_AI_STUDIO = 24;
  31. AIVOICE_FAVICON_CALL_HISTORY = 25;
  32. ASK_META_AI_CONTEXT_MENU = 26;
  33. ASK_META_AI_CONTEXT_MENU_1ON1 = 27;
  34. ASK_META_AI_CONTEXT_MENU_GROUP = 28;
  35. INVOKE_META_AI_1ON1 = 29;
  36. INVOKE_META_AI_GROUP = 30;
  37. META_AI_FORWARD = 31;
  38. NEW_CHAT_AI_CONTACT = 32;
  39. MESSAGE_QUICK_ACTION_1_ON_1_CHAT = 33;
  40. MESSAGE_QUICK_ACTION_GROUP_CHAT = 34;
  41. ATTACHMENT_TRAY_1_ON_1_CHAT = 35;
  42. ATTACHMENT_TRAY_GROUP_CHAT = 36;
  43. ASK_META_AI_MEDIA_VIEWER_1ON1 = 37;
  44. ASK_META_AI_MEDIA_VIEWER_GROUP = 38;
  45. }
  46. enum BotMetricsThreadEntryPoint {
  47. AI_TAB_THREAD = 1;
  48. AI_HOME_THREAD = 2;
  49. AI_DEEPLINK_IMMERSIVE_THREAD = 3;
  50. AI_DEEPLINK_THREAD = 4;
  51. ASK_META_AI_CONTEXT_MENU_THREAD = 5;
  52. }
  53. enum BotSessionSource {
  54. NONE = 0;
  55. NULL_STATE = 1;
  56. TYPEAHEAD = 2;
  57. USER_INPUT = 3;
  58. EMU_FLASH = 4;
  59. EMU_FLASH_FOLLOWUP = 5;
  60. VOICE = 6;
  61. }
  62. enum AIRichResponseMessageType {
  63. AI_RICH_RESPONSE_TYPE_UNKNOWN = 0;
  64. AI_RICH_RESPONSE_TYPE_STANDARD = 1;
  65. }
  66. enum AIRichResponseSubMessageType {
  67. AI_RICH_RESPONSE_UNKNOWN = 0;
  68. AI_RICH_RESPONSE_GRID_IMAGE = 1;
  69. AI_RICH_RESPONSE_TEXT = 2;
  70. AI_RICH_RESPONSE_INLINE_IMAGE = 3;
  71. AI_RICH_RESPONSE_TABLE = 4;
  72. AI_RICH_RESPONSE_CODE = 5;
  73. AI_RICH_RESPONSE_DYNAMIC = 6;
  74. AI_RICH_RESPONSE_MAP = 7;
  75. AI_RICH_RESPONSE_LATEX = 8;
  76. AI_RICH_RESPONSE_CONTENT_ITEMS = 9;
  77. }
  78. enum SessionTransparencyType {
  79. UNKNOWN_TYPE = 0;
  80. NY_AI_SAFETY_DISCLAIMER = 1;
  81. }
  82. message BotPluginMetadata {
  83. enum PluginType {
  84. UNKNOWN_PLUGIN = 0;
  85. REELS = 1;
  86. SEARCH = 2;
  87. }
  88. enum SearchProvider {
  89. UNKNOWN = 0;
  90. BING = 1;
  91. GOOGLE = 2;
  92. SUPPORT = 3;
  93. }
  94. optional SearchProvider provider = 1;
  95. optional PluginType pluginType = 2;
  96. optional string thumbnailCDNURL = 3;
  97. optional string profilePhotoCDNURL = 4;
  98. optional string searchProviderURL = 5;
  99. optional uint32 referenceIndex = 6;
  100. optional uint32 expectedLinksCount = 7;
  101. optional string searchQuery = 9;
  102. optional WACommon.MessageKey parentPluginMessageKey = 10;
  103. optional PluginType deprecatedField = 11;
  104. optional PluginType parentPluginType = 12;
  105. optional string faviconCDNURL = 13;
  106. }
  107. message BotLinkedAccount {
  108. enum BotLinkedAccountType {
  109. BOT_LINKED_ACCOUNT_TYPE_1P = 0;
  110. }
  111. optional BotLinkedAccountType type = 1;
  112. }
  113. message BotSignatureVerificationUseCaseProof {
  114. enum BotSignatureUseCase {
  115. UNSPECIFIED = 0;
  116. WA_BOT_MSG = 1;
  117. }
  118. optional int32 version = 1;
  119. optional BotSignatureUseCase useCase = 2;
  120. optional bytes signature = 3;
  121. repeated bytes certificateChain = 4;
  122. }
  123. message BotPromotionMessageMetadata {
  124. enum BotPromotionType {
  125. UNKNOWN_TYPE = 0;
  126. C50 = 1;
  127. SURVEY_PLATFORM = 2;
  128. }
  129. optional BotPromotionType promotionType = 1;
  130. optional string buttonTitle = 2;
  131. }
  132. message BotMediaMetadata {
  133. enum OrientationType {
  134. CENTER = 1;
  135. LEFT = 2;
  136. RIGHT = 3;
  137. }
  138. optional string fileSHA256 = 1;
  139. optional string mediaKey = 2;
  140. optional string fileEncSHA256 = 3;
  141. optional string directPath = 4;
  142. optional int64 mediaKeyTimestamp = 5;
  143. optional string mimetype = 6;
  144. optional OrientationType orientationType = 7;
  145. }
  146. message BotReminderMetadata {
  147. enum ReminderFrequency {
  148. ONCE = 1;
  149. DAILY = 2;
  150. WEEKLY = 3;
  151. BIWEEKLY = 4;
  152. MONTHLY = 5;
  153. }
  154. enum ReminderAction {
  155. NOTIFY = 1;
  156. CREATE = 2;
  157. DELETE = 3;
  158. UPDATE = 4;
  159. }
  160. optional WACommon.MessageKey requestMessageKey = 1;
  161. optional ReminderAction action = 2;
  162. optional string name = 3;
  163. optional uint64 nextTriggerTimestamp = 4;
  164. optional ReminderFrequency frequency = 5;
  165. }
  166. message BotModelMetadata {
  167. enum PremiumModelStatus {
  168. UNKNOWN_STATUS = 0;
  169. AVAILABLE = 1;
  170. QUOTA_EXCEED_LIMIT = 2;
  171. }
  172. enum ModelType {
  173. UNKNOWN_TYPE = 0;
  174. LLAMA_PROD = 1;
  175. LLAMA_PROD_PREMIUM = 2;
  176. }
  177. optional ModelType modelType = 1;
  178. optional PremiumModelStatus premiumModelStatus = 2;
  179. optional string modelNameOverride = 3;
  180. }
  181. message BotProgressIndicatorMetadata {
  182. message BotPlanningStepMetadata {
  183. enum BotSearchSourceProvider {
  184. UNKNOWN_PROVIDER = 0;
  185. OTHER = 1;
  186. GOOGLE = 2;
  187. BING = 3;
  188. }
  189. enum PlanningStepStatus {
  190. UNKNOWN = 0;
  191. PLANNED = 1;
  192. EXECUTING = 2;
  193. FINISHED = 3;
  194. }
  195. message BotPlanningSearchSourcesMetadata {
  196. enum BotPlanningSearchSourceProvider {
  197. UNKNOWN = 0;
  198. OTHER = 1;
  199. GOOGLE = 2;
  200. BING = 3;
  201. }
  202. optional string sourceTitle = 1;
  203. optional BotPlanningSearchSourceProvider provider = 2;
  204. optional string sourceURL = 3;
  205. }
  206. message BotPlanningStepSectionMetadata {
  207. optional string sectionTitle = 1;
  208. optional string sectionBody = 2;
  209. repeated BotPlanningSearchSourceMetadata sourcesMetadata = 3;
  210. }
  211. message BotPlanningSearchSourceMetadata {
  212. optional string title = 1;
  213. optional BotSearchSourceProvider provider = 2;
  214. optional string sourceURL = 3;
  215. optional string favIconURL = 4;
  216. }
  217. optional string statusTitle = 1;
  218. optional string statusBody = 2;
  219. repeated BotPlanningSearchSourcesMetadata sourcesMetadata = 3;
  220. optional PlanningStepStatus status = 4;
  221. optional bool isReasoning = 5;
  222. optional bool isEnhancedSearch = 6;
  223. repeated BotPlanningStepSectionMetadata sections = 7;
  224. }
  225. optional string progressDescription = 1;
  226. repeated BotPlanningStepMetadata stepsMetadata = 2;
  227. }
  228. message BotCapabilityMetadata {
  229. enum BotCapabilityType {
  230. UNKNOWN = 0;
  231. PROGRESS_INDICATOR = 1;
  232. RICH_RESPONSE_HEADING = 2;
  233. RICH_RESPONSE_NESTED_LIST = 3;
  234. AI_MEMORY = 4;
  235. RICH_RESPONSE_THREAD_SURFING = 5;
  236. RICH_RESPONSE_TABLE = 6;
  237. RICH_RESPONSE_CODE = 7;
  238. RICH_RESPONSE_STRUCTURED_RESPONSE = 8;
  239. RICH_RESPONSE_INLINE_IMAGE = 9;
  240. WA_IG_1P_PLUGIN_RANKING_CONTROL = 10;
  241. WA_IG_1P_PLUGIN_RANKING_UPDATE_1 = 11;
  242. WA_IG_1P_PLUGIN_RANKING_UPDATE_2 = 12;
  243. WA_IG_1P_PLUGIN_RANKING_UPDATE_3 = 13;
  244. WA_IG_1P_PLUGIN_RANKING_UPDATE_4 = 14;
  245. WA_IG_1P_PLUGIN_RANKING_UPDATE_5 = 15;
  246. WA_IG_1P_PLUGIN_RANKING_UPDATE_6 = 16;
  247. WA_IG_1P_PLUGIN_RANKING_UPDATE_7 = 17;
  248. WA_IG_1P_PLUGIN_RANKING_UPDATE_8 = 18;
  249. WA_IG_1P_PLUGIN_RANKING_UPDATE_9 = 19;
  250. WA_IG_1P_PLUGIN_RANKING_UPDATE_10 = 20;
  251. RICH_RESPONSE_SUB_HEADING = 21;
  252. RICH_RESPONSE_GRID_IMAGE = 22;
  253. AI_STUDIO_UGC_MEMORY = 23;
  254. RICH_RESPONSE_LATEX = 24;
  255. RICH_RESPONSE_MAPS = 25;
  256. RICH_RESPONSE_INLINE_REELS = 26;
  257. AGENTIC_PLANNING = 27;
  258. ACCOUNT_LINKING = 28;
  259. STREAMING_DISAGGREGATION = 29;
  260. RICH_RESPONSE_GRID_IMAGE_3P = 30;
  261. RICH_RESPONSE_LATEX_INLINE = 31;
  262. QUERY_PLAN = 32;
  263. PROACTIVE_MESSAGE = 33;
  264. RICH_RESPONSE_UNIFIED_RESPONSE = 34;
  265. PROMOTION_MESSAGE = 35;
  266. SIMPLIFIED_PROFILE_PAGE = 36;
  267. RICH_RESPONSE_SOURCES_IN_MESSAGE = 37;
  268. RICH_RESPONSE_SIDE_BY_SIDE_SURVEY = 38;
  269. RICH_RESPONSE_UNIFIED_TEXT_COMPONENT = 39;
  270. AI_SHARED_MEMORY = 40;
  271. RICH_RESPONSE_UNIFIED_SOURCES = 41;
  272. RICH_RESPONSE_UNIFIED_DOMAIN_CITATIONS = 42;
  273. RICH_RESPONSE_UR_INLINE_REELS_ENABLED = 43;
  274. RICH_RESPONSE_UR_MEDIA_GRID_ENABLED = 44;
  275. RICH_RESPONSE_UR_TIMESTAMP_PLACEHOLDER = 45;
  276. RICH_RESPONSE_IN_APP_SURVEY = 46;
  277. AI_RESPONSE_MODEL_BRANDING = 47;
  278. SESSION_TRANSPARENCY_SYSTEM_MESSAGE = 48;
  279. RICH_RESPONSE_UR_REASONING = 49;
  280. }
  281. repeated BotCapabilityType capabilities = 1;
  282. }
  283. message BotModeSelectionMetadata {
  284. enum BotUserSelectionMode {
  285. UNKNOWN_MODE = 0;
  286. REASONING_MODE = 1;
  287. }
  288. repeated BotUserSelectionMode mode = 1;
  289. }
  290. message BotQuotaMetadata {
  291. message BotFeatureQuotaMetadata {
  292. enum BotFeatureType {
  293. UNKNOWN_FEATURE = 0;
  294. REASONING_FEATURE = 1;
  295. }
  296. optional BotFeatureType featureType = 1;
  297. optional uint32 remainingQuota = 2;
  298. optional uint64 expirationTimestamp = 3;
  299. }
  300. repeated BotFeatureQuotaMetadata botFeatureQuotaMetadata = 1;
  301. }
  302. message BotImagineMetadata {
  303. enum ImagineType {
  304. UNKNOWN = 0;
  305. IMAGINE = 1;
  306. MEMU = 2;
  307. FLASH = 3;
  308. EDIT = 4;
  309. }
  310. optional ImagineType imagineType = 1;
  311. }
  312. message BotAgeCollectionMetadata {
  313. enum AgeCollectionType {
  314. O18_BINARY = 0;
  315. WAFFLE = 1;
  316. }
  317. optional bool ageCollectionEligible = 1;
  318. optional bool shouldTriggerAgeCollectionOnClient = 2;
  319. optional AgeCollectionType ageCollectionType = 3;
  320. }
  321. message BotSourcesMetadata {
  322. message BotSourceItem {
  323. enum SourceProvider {
  324. UNKNOWN = 0;
  325. BING = 1;
  326. GOOGLE = 2;
  327. SUPPORT = 3;
  328. OTHER = 4;
  329. }
  330. optional SourceProvider provider = 1;
  331. optional string thumbnailCDNURL = 2;
  332. optional string sourceProviderURL = 3;
  333. optional string sourceQuery = 4;
  334. optional string faviconCDNURL = 5;
  335. optional uint32 citationNumber = 6;
  336. optional string sourceTitle = 7;
  337. }
  338. repeated BotSourceItem sources = 1;
  339. }
  340. message BotMessageOrigin {
  341. enum BotMessageOriginType {
  342. BOT_MESSAGE_ORIGIN_TYPE_AI_INITIATED = 0;
  343. }
  344. optional BotMessageOriginType type = 1;
  345. }
  346. message AIThreadInfo {
  347. message AIThreadClientInfo {
  348. enum AIThreadType {
  349. UNKNOWN = 0;
  350. DEFAULT = 1;
  351. INCOGNITO = 2;
  352. }
  353. optional AIThreadType type = 1;
  354. }
  355. message AIThreadServerInfo {
  356. optional string title = 1;
  357. }
  358. optional AIThreadServerInfo serverInfo = 1;
  359. optional AIThreadClientInfo clientInfo = 2;
  360. }
  361. message BotFeedbackMessage {
  362. enum ReportKind {
  363. NONE = 0;
  364. GENERIC = 1;
  365. }
  366. enum BotFeedbackKindMultiplePositive {
  367. BOT_FEEDBACK_MULTIPLE_POSITIVE_GENERIC = 1;
  368. }
  369. enum BotFeedbackKindMultipleNegative {
  370. BOT_FEEDBACK_MULTIPLE_NEGATIVE_GENERIC = 1;
  371. BOT_FEEDBACK_MULTIPLE_NEGATIVE_HELPFUL = 2;
  372. BOT_FEEDBACK_MULTIPLE_NEGATIVE_INTERESTING = 4;
  373. BOT_FEEDBACK_MULTIPLE_NEGATIVE_ACCURATE = 8;
  374. BOT_FEEDBACK_MULTIPLE_NEGATIVE_SAFE = 16;
  375. BOT_FEEDBACK_MULTIPLE_NEGATIVE_OTHER = 32;
  376. BOT_FEEDBACK_MULTIPLE_NEGATIVE_REFUSED = 64;
  377. BOT_FEEDBACK_MULTIPLE_NEGATIVE_NOT_VISUALLY_APPEALING = 128;
  378. BOT_FEEDBACK_MULTIPLE_NEGATIVE_NOT_RELEVANT_TO_TEXT = 256;
  379. }
  380. enum BotFeedbackKind {
  381. BOT_FEEDBACK_POSITIVE = 0;
  382. BOT_FEEDBACK_NEGATIVE_GENERIC = 1;
  383. BOT_FEEDBACK_NEGATIVE_HELPFUL = 2;
  384. BOT_FEEDBACK_NEGATIVE_INTERESTING = 3;
  385. BOT_FEEDBACK_NEGATIVE_ACCURATE = 4;
  386. BOT_FEEDBACK_NEGATIVE_SAFE = 5;
  387. BOT_FEEDBACK_NEGATIVE_OTHER = 6;
  388. BOT_FEEDBACK_NEGATIVE_REFUSED = 7;
  389. BOT_FEEDBACK_NEGATIVE_NOT_VISUALLY_APPEALING = 8;
  390. BOT_FEEDBACK_NEGATIVE_NOT_RELEVANT_TO_TEXT = 9;
  391. BOT_FEEDBACK_NEGATIVE_PERSONALIZED = 10;
  392. BOT_FEEDBACK_NEGATIVE_CLARITY = 11;
  393. BOT_FEEDBACK_NEGATIVE_DOESNT_LOOK_LIKE_THE_PERSON = 12;
  394. BOT_FEEDBACK_NEGATIVE_HALLUCINATION_INTERNAL_ONLY = 13;
  395. BOT_FEEDBACK_NEGATIVE = 14;
  396. }
  397. message SideBySideSurveyMetadata {
  398. message SidebySideSurveyMetaAiAnalyticsData {
  399. message SideBySideSurveyAbandonEventData {
  400. optional string abandonDwellTimeMSString = 1;
  401. }
  402. message SideBySideSurveyResponseEventData {
  403. optional string responseDwellTimeMSString = 1;
  404. optional string selectedResponseID = 2;
  405. }
  406. message SideBySideSurveyCardImpressionEventData {
  407. }
  408. message SideBySideSurveyCTAClickEventData {
  409. optional bool isSurveyExpired = 1;
  410. optional string clickDwellTimeMSString = 2;
  411. }
  412. message SideBySideSurveyCTAImpressionEventData {
  413. optional bool isSurveyExpired = 1;
  414. }
  415. optional uint32 surveyID = 1;
  416. optional string primaryResponseID = 2;
  417. optional string testArmName = 3;
  418. optional string timestampMSString = 4;
  419. optional SideBySideSurveyCTAImpressionEventData ctaImpressionEvent = 5;
  420. optional SideBySideSurveyCTAClickEventData ctaClickEvent = 6;
  421. optional SideBySideSurveyCardImpressionEventData cardImpressionEvent = 7;
  422. optional SideBySideSurveyResponseEventData responseEvent = 8;
  423. optional SideBySideSurveyAbandonEventData abandonEvent = 9;
  424. }
  425. message SideBySideSurveyAnalyticsData {
  426. optional string tessaEvent = 1;
  427. optional string tessaSessionFbid = 2;
  428. optional string simonSessionFbid = 3;
  429. }
  430. optional string selectedRequestID = 1;
  431. optional uint32 surveyID = 2;
  432. optional string simonSessionFbid = 3;
  433. optional string responseOtid = 4;
  434. optional string responseTimestampMSString = 5;
  435. optional bool isSelectedResponsePrimary = 6;
  436. optional string messageIDToEdit = 7;
  437. optional SideBySideSurveyAnalyticsData analyticsData = 8;
  438. optional SidebySideSurveyMetaAiAnalyticsData metaAiAnalyticsData = 9;
  439. }
  440. optional WACommon.MessageKey messageKey = 1;
  441. optional BotFeedbackKind kind = 2;
  442. optional string text = 3;
  443. optional uint64 kindNegative = 4;
  444. optional uint64 kindPositive = 5;
  445. optional ReportKind kindReport = 6;
  446. optional SideBySideSurveyMetadata sideBySideSurveyMetadata = 7;
  447. }
  448. message AIRichResponseInlineImageMetadata {
  449. enum AIRichResponseImageAlignment {
  450. AI_RICH_RESPONSE_IMAGE_LAYOUT_LEADING_ALIGNED = 0;
  451. AI_RICH_RESPONSE_IMAGE_LAYOUT_TRAILING_ALIGNED = 1;
  452. AI_RICH_RESPONSE_IMAGE_LAYOUT_CENTER_ALIGNED = 2;
  453. }
  454. optional AIRichResponseImageURL imageURL = 1;
  455. optional string imageText = 2;
  456. optional AIRichResponseImageAlignment alignment = 3;
  457. optional string tapLinkURL = 4;
  458. }
  459. message AIRichResponseCodeMetadata {
  460. enum AIRichResponseCodeHighlightType {
  461. AI_RICH_RESPONSE_CODE_HIGHLIGHT_DEFAULT = 0;
  462. AI_RICH_RESPONSE_CODE_HIGHLIGHT_KEYWORD = 1;
  463. AI_RICH_RESPONSE_CODE_HIGHLIGHT_METHOD = 2;
  464. AI_RICH_RESPONSE_CODE_HIGHLIGHT_STRING = 3;
  465. AI_RICH_RESPONSE_CODE_HIGHLIGHT_NUMBER = 4;
  466. AI_RICH_RESPONSE_CODE_HIGHLIGHT_COMMENT = 5;
  467. }
  468. message AIRichResponseCodeBlock {
  469. optional AIRichResponseCodeHighlightType highlightType = 1;
  470. optional string codeContent = 2;
  471. }
  472. optional string codeLanguage = 1;
  473. repeated AIRichResponseCodeBlock codeBlocks = 2;
  474. }
  475. message AIRichResponseDynamicMetadata {
  476. enum AIRichResponseDynamicMetadataType {
  477. AI_RICH_RESPONSE_DYNAMIC_METADATA_TYPE_UNKNOWN = 0;
  478. AI_RICH_RESPONSE_DYNAMIC_METADATA_TYPE_IMAGE = 1;
  479. AI_RICH_RESPONSE_DYNAMIC_METADATA_TYPE_GIF = 2;
  480. }
  481. optional AIRichResponseDynamicMetadataType type = 1;
  482. optional uint64 version = 2;
  483. optional string URL = 3;
  484. optional uint32 loopCount = 4;
  485. }
  486. message AIRichResponseContentItemsMetadata {
  487. enum ContentType {
  488. DEFAULT = 0;
  489. CAROUSEL = 1;
  490. }
  491. message AIRichResponseContentItemMetadata {
  492. oneof aIRichResponseContentItem {
  493. AIRichResponseReelItem reelItem = 1;
  494. }
  495. }
  496. message AIRichResponseReelItem {
  497. optional string title = 1;
  498. optional string profileIconURL = 2;
  499. optional string thumbnailURL = 3;
  500. optional string videoURL = 4;
  501. }
  502. repeated AIRichResponseContentItemMetadata itemsMetadata = 1;
  503. optional ContentType contentType = 2;
  504. }
  505. message BotDocumentMessageMetadata {
  506. enum DocumentPluginType {
  507. TEXT_EXTRACTION = 0;
  508. OCR_AND_IMAGES = 1;
  509. }
  510. optional DocumentPluginType pluginType = 1;
  511. }
  512. message AIHomeState {
  513. message AIHomeOption {
  514. enum AIHomeActionType {
  515. PROMPT = 0;
  516. CREATE_IMAGE = 1;
  517. ANIMATE_PHOTO = 2;
  518. ANALYZE_FILE = 3;
  519. }
  520. optional AIHomeActionType type = 1;
  521. optional string title = 2;
  522. optional string promptText = 3;
  523. optional string sessionID = 4;
  524. optional string imageWdsIdentifier = 5;
  525. optional string imageTintColor = 6;
  526. optional string imageBackgroundColor = 7;
  527. }
  528. optional int64 lastFetchTime = 1;
  529. repeated AIHomeOption capabilityOptions = 2;
  530. repeated AIHomeOption conversationOptions = 3;
  531. }
  532. message BotAvatarMetadata {
  533. optional uint32 sentiment = 1;
  534. optional string behaviorGraph = 2;
  535. optional uint32 action = 3;
  536. optional uint32 intensity = 4;
  537. optional uint32 wordCount = 5;
  538. }
  539. message BotSuggestedPromptMetadata {
  540. repeated string suggestedPrompts = 1;
  541. optional uint32 selectedPromptIndex = 2;
  542. optional BotPromptSuggestions promptSuggestions = 3;
  543. optional string selectedPromptID = 4;
  544. }
  545. message BotPromptSuggestions {
  546. repeated BotPromptSuggestion suggestions = 1;
  547. }
  548. message BotPromptSuggestion {
  549. optional string prompt = 1;
  550. optional string promptID = 2;
  551. }
  552. message BotLinkedAccountsMetadata {
  553. repeated BotLinkedAccount accounts = 1;
  554. optional bytes acAuthTokens = 2;
  555. optional int32 acErrorCode = 3;
  556. }
  557. message BotMemoryMetadata {
  558. repeated BotMemoryFact addedFacts = 1;
  559. repeated BotMemoryFact removedFacts = 2;
  560. optional string disclaimer = 3;
  561. }
  562. message BotMemoryFact {
  563. optional string fact = 1;
  564. optional string factID = 2;
  565. }
  566. message BotSignatureVerificationMetadata {
  567. repeated BotSignatureVerificationUseCaseProof proofs = 1;
  568. }
  569. message BotRenderingMetadata {
  570. message Keyword {
  571. optional string value = 1;
  572. repeated string associatedPrompts = 2;
  573. }
  574. repeated Keyword keywords = 1;
  575. }
  576. message BotMetricsMetadata {
  577. optional string destinationID = 1;
  578. optional BotMetricsEntryPoint destinationEntryPoint = 2;
  579. optional BotMetricsThreadEntryPoint threadOrigin = 3;
  580. }
  581. message BotSessionMetadata {
  582. optional string sessionID = 1;
  583. optional BotSessionSource sessionSource = 2;
  584. }
  585. message BotMemuMetadata {
  586. repeated BotMediaMetadata faceImages = 1;
  587. }
  588. message InThreadSurveyMetadata {
  589. message InThreadSurveyPrivacyStatementPart {
  590. optional string text = 1;
  591. optional string URL = 2;
  592. }
  593. message InThreadSurveyOption {
  594. optional string stringValue = 1;
  595. optional uint32 numericValue = 2;
  596. optional string textTranslated = 3;
  597. }
  598. message InThreadSurveyQuestion {
  599. optional string questionText = 1;
  600. optional string questionID = 2;
  601. repeated InThreadSurveyOption questionOptions = 3;
  602. }
  603. optional string tessaSessionID = 1;
  604. optional string simonSessionID = 2;
  605. optional string simonSurveyID = 3;
  606. optional string tessaRootID = 4;
  607. optional string requestID = 5;
  608. optional string tessaEvent = 6;
  609. optional string invitationHeaderText = 7;
  610. optional string invitationBodyText = 8;
  611. optional string invitationCtaText = 9;
  612. optional string invitationCtaURL = 10;
  613. optional string surveyTitle = 11;
  614. repeated InThreadSurveyQuestion questions = 12;
  615. optional string surveyContinueButtonText = 13;
  616. optional string surveySubmitButtonText = 14;
  617. optional string privacyStatementFull = 15;
  618. repeated InThreadSurveyPrivacyStatementPart privacyStatementParts = 16;
  619. optional string feedbackToastText = 17;
  620. optional int32 startQuestionIndex = 18;
  621. }
  622. message BotMessageOriginMetadata {
  623. repeated BotMessageOrigin origins = 1;
  624. }
  625. message BotUnifiedResponseMutation {
  626. message MediaDetailsMetadata {
  627. optional string ID = 1;
  628. optional BotMediaMetadata highResMedia = 2;
  629. optional BotMediaMetadata previewMedia = 3;
  630. }
  631. message SideBySideMetadata {
  632. optional string primaryResponseID = 1;
  633. optional bool surveyCtaHasRendered = 2;
  634. }
  635. optional SideBySideMetadata sbsMetadata = 1;
  636. repeated MediaDetailsMetadata mediaDetailsMetadataList = 2;
  637. }
  638. message BotMetadata {
  639. optional BotAvatarMetadata avatarMetadata = 1;
  640. optional string personaID = 2;
  641. optional BotPluginMetadata pluginMetadata = 3;
  642. optional BotSuggestedPromptMetadata suggestedPromptMetadata = 4;
  643. optional string invokerJID = 5;
  644. optional BotSessionMetadata sessionMetadata = 6;
  645. optional BotMemuMetadata memuMetadata = 7;
  646. optional string timezone = 8;
  647. optional BotReminderMetadata reminderMetadata = 9;
  648. optional BotModelMetadata modelMetadata = 10;
  649. optional string messageDisclaimerText = 11;
  650. optional BotProgressIndicatorMetadata progressIndicatorMetadata = 12;
  651. optional BotCapabilityMetadata capabilityMetadata = 13;
  652. optional BotImagineMetadata imagineMetadata = 14;
  653. optional BotMemoryMetadata memoryMetadata = 15;
  654. optional BotRenderingMetadata renderingMetadata = 16;
  655. optional BotMetricsMetadata botMetricsMetadata = 17;
  656. optional BotLinkedAccountsMetadata botLinkedAccountsMetadata = 18;
  657. optional BotSourcesMetadata richResponseSourcesMetadata = 19;
  658. optional bytes aiConversationContext = 20;
  659. optional BotPromotionMessageMetadata botPromotionMessageMetadata = 21;
  660. optional BotModeSelectionMetadata botModeSelectionMetadata = 22;
  661. optional BotQuotaMetadata botQuotaMetadata = 23;
  662. optional BotAgeCollectionMetadata botAgeCollectionMetadata = 24;
  663. optional string conversationStarterPromptID = 25;
  664. optional string botResponseID = 26;
  665. optional BotSignatureVerificationMetadata verificationMetadata = 27;
  666. optional BotUnifiedResponseMutation unifiedResponseMutation = 28;
  667. optional BotMessageOriginMetadata botMessageOriginMetadata = 29;
  668. optional InThreadSurveyMetadata inThreadSurveyMetadata = 30;
  669. optional AIThreadInfo botThreadInfo = 31;
  670. optional AIRegenerateMetadata regenerateMetadata = 32;
  671. optional SessionTransparencyMetadata sessionTransparencyMetadata = 33;
  672. optional BotDocumentMessageMetadata botDocumentMessageMetadata = 34;
  673. optional bytes internalMetadata = 999;
  674. }
  675. message ForwardedAIBotMessageInfo {
  676. optional string botName = 1;
  677. optional string botJID = 2;
  678. optional string creatorName = 3;
  679. }
  680. message BotMessageSharingInfo {
  681. optional BotMetricsEntryPoint botEntryPointOrigin = 1;
  682. optional uint32 forwardScore = 2;
  683. }
  684. message AIRichResponseImageURL {
  685. optional string imagePreviewURL = 1;
  686. optional string imageHighResURL = 2;
  687. optional string sourceURL = 3;
  688. }
  689. message AIRichResponseGridImageMetadata {
  690. optional AIRichResponseImageURL gridImageURL = 1;
  691. repeated AIRichResponseImageURL imageURLs = 2;
  692. }
  693. message AIRichResponseTableMetadata {
  694. message AIRichResponseTableRow {
  695. repeated string items = 1;
  696. optional bool isHeading = 2;
  697. }
  698. repeated AIRichResponseTableRow rows = 1;
  699. optional string title = 2;
  700. }
  701. message AIRichResponseUnifiedResponse {
  702. optional bytes data = 1;
  703. }
  704. message AIRichResponseLatexMetadata {
  705. message AIRichResponseLatexExpression {
  706. optional string latexExpression = 1;
  707. optional string URL = 2;
  708. optional double width = 3;
  709. optional double height = 4;
  710. optional double fontHeight = 5;
  711. optional double imageTopPadding = 6;
  712. optional double imageLeadingPadding = 7;
  713. optional double imageBottomPadding = 8;
  714. optional double imageTrailingPadding = 9;
  715. }
  716. optional string text = 1;
  717. repeated AIRichResponseLatexExpression expressions = 2;
  718. }
  719. message AIRichResponseMapMetadata {
  720. message AIRichResponseMapAnnotation {
  721. optional uint32 annotationNumber = 1;
  722. optional double latitude = 2;
  723. optional double longitude = 3;
  724. optional string title = 4;
  725. optional string body = 5;
  726. }
  727. optional double centerLatitude = 1;
  728. optional double centerLongitude = 2;
  729. optional double latitudeDelta = 3;
  730. optional double longitudeDelta = 4;
  731. repeated AIRichResponseMapAnnotation annotations = 5;
  732. optional bool showInfoList = 6;
  733. }
  734. message AIRichResponseSubMessage {
  735. optional AIRichResponseSubMessageType messageType = 1;
  736. optional AIRichResponseGridImageMetadata gridImageMetadata = 2;
  737. optional string messageText = 3;
  738. optional AIRichResponseInlineImageMetadata imageMetadata = 4;
  739. optional AIRichResponseCodeMetadata codeMetadata = 5;
  740. optional AIRichResponseTableMetadata tableMetadata = 6;
  741. optional AIRichResponseDynamicMetadata dynamicMetadata = 7;
  742. optional AIRichResponseLatexMetadata latexMetadata = 8;
  743. optional AIRichResponseMapMetadata mapMetadata = 9;
  744. optional AIRichResponseContentItemsMetadata contentItemsMetadata = 10;
  745. }
  746. message AIRegenerateMetadata {
  747. optional WACommon.MessageKey messageKey = 1;
  748. optional int64 responseTimestampMS = 2;
  749. }
  750. message SessionTransparencyMetadata {
  751. optional string disclaimerText = 1;
  752. optional string hcaID = 2;
  753. optional SessionTransparencyType sessionTransparencyType = 3;
  754. }