WABotMetadata.proto 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527
  1. syntax = "proto2";
  2. package WABotMetadata;
  3. option go_package = "git.bobomao.top/joey/whatsmeow/proto/waBotMetadata";
  4. import "waCommon/WACommon.proto";
  5. enum BotMetricsEntryPoint {
  6. FAVICON = 1;
  7. CHATLIST = 2;
  8. AISEARCH_NULL_STATE_PAPER_PLANE = 3;
  9. AISEARCH_NULL_STATE_SUGGESTION = 4;
  10. AISEARCH_TYPE_AHEAD_SUGGESTION = 5;
  11. AISEARCH_TYPE_AHEAD_PAPER_PLANE = 6;
  12. AISEARCH_TYPE_AHEAD_RESULT_CHATLIST = 7;
  13. AISEARCH_TYPE_AHEAD_RESULT_MESSAGES = 8;
  14. AIVOICE_SEARCH_BAR = 9;
  15. AIVOICE_FAVICON = 10;
  16. AISTUDIO = 11;
  17. DEEPLINK = 12;
  18. NOTIFICATION = 13;
  19. PROFILE_MESSAGE_BUTTON = 14;
  20. FORWARD = 15;
  21. APP_SHORTCUT = 16;
  22. FF_FAMILY = 17;
  23. AI_TAB = 18;
  24. AI_HOME = 19;
  25. AI_DEEPLINK_IMMERSIVE = 20;
  26. AI_DEEPLINK = 21;
  27. META_AI_CHAT_SHORTCUT_AI_STUDIO = 22;
  28. UGC_CHAT_SHORTCUT_AI_STUDIO = 23;
  29. NEW_CHAT_AI_STUDIO = 24;
  30. AIVOICE_FAVICON_CALL_HISTORY = 25;
  31. ASK_META_AI_CONTEXT_MENU = 26;
  32. ASK_META_AI_CONTEXT_MENU_1ON1 = 27;
  33. ASK_META_AI_CONTEXT_MENU_GROUP = 28;
  34. INVOKE_META_AI_1ON1 = 29;
  35. INVOKE_META_AI_GROUP = 30;
  36. META_AI_FORWARD = 31;
  37. NEW_CHAT_AI_CONTACT = 32;
  38. }
  39. enum BotMetricsThreadEntryPoint {
  40. AI_TAB_THREAD = 1;
  41. AI_HOME_THREAD = 2;
  42. AI_DEEPLINK_IMMERSIVE_THREAD = 3;
  43. AI_DEEPLINK_THREAD = 4;
  44. ASK_META_AI_CONTEXT_MENU_THREAD = 5;
  45. }
  46. enum BotSessionSource {
  47. NONE = 0;
  48. NULL_STATE = 1;
  49. TYPEAHEAD = 2;
  50. USER_INPUT = 3;
  51. EMU_FLASH = 4;
  52. EMU_FLASH_FOLLOWUP = 5;
  53. VOICE = 6;
  54. }
  55. message BotPluginMetadata {
  56. enum PluginType {
  57. UNKNOWN_PLUGIN = 0;
  58. REELS = 1;
  59. SEARCH = 2;
  60. }
  61. enum SearchProvider {
  62. UNKNOWN = 0;
  63. BING = 1;
  64. GOOGLE = 2;
  65. SUPPORT = 3;
  66. }
  67. optional SearchProvider provider = 1;
  68. optional PluginType pluginType = 2;
  69. optional string thumbnailCDNURL = 3;
  70. optional string profilePhotoCDNURL = 4;
  71. optional string searchProviderURL = 5;
  72. optional uint32 referenceIndex = 6;
  73. optional uint32 expectedLinksCount = 7;
  74. optional string searchQuery = 9;
  75. optional WACommon.MessageKey parentPluginMessageKey = 10;
  76. optional PluginType deprecatedField = 11;
  77. optional PluginType parentPluginType = 12;
  78. optional string faviconCDNURL = 13;
  79. }
  80. message BotLinkedAccount {
  81. enum BotLinkedAccountType {
  82. BOT_LINKED_ACCOUNT_TYPE_1P = 0;
  83. }
  84. optional BotLinkedAccountType type = 1;
  85. }
  86. message BotSignatureVerificationUseCaseProof {
  87. enum BotSignatureUseCase {
  88. WA_BOT_MSG = 0;
  89. }
  90. optional int32 version = 1;
  91. optional BotSignatureUseCase useCase = 2;
  92. optional bytes signature = 3;
  93. optional bytes certificateChain = 4;
  94. }
  95. message BotPromotionMessageMetadata {
  96. enum BotPromotionType {
  97. UNKNOWN_TYPE = 0;
  98. C50 = 1;
  99. SURVEY_PLATFORM = 2;
  100. }
  101. optional BotPromotionType promotionType = 1;
  102. optional string buttonTitle = 2;
  103. }
  104. message BotMediaMetadata {
  105. enum OrientationType {
  106. CENTER = 1;
  107. LEFT = 2;
  108. RIGHT = 3;
  109. }
  110. optional string fileSHA256 = 1;
  111. optional string mediaKey = 2;
  112. optional string fileEncSHA256 = 3;
  113. optional string directPath = 4;
  114. optional int64 mediaKeyTimestamp = 5;
  115. optional string mimetype = 6;
  116. optional OrientationType orientationType = 7;
  117. }
  118. message BotReminderMetadata {
  119. enum ReminderFrequency {
  120. ONCE = 1;
  121. DAILY = 2;
  122. WEEKLY = 3;
  123. BIWEEKLY = 4;
  124. MONTHLY = 5;
  125. }
  126. enum ReminderAction {
  127. NOTIFY = 1;
  128. CREATE = 2;
  129. DELETE = 3;
  130. UPDATE = 4;
  131. }
  132. optional WACommon.MessageKey requestMessageKey = 1;
  133. optional ReminderAction action = 2;
  134. optional string name = 3;
  135. optional uint64 nextTriggerTimestamp = 4;
  136. optional ReminderFrequency frequency = 5;
  137. }
  138. message BotModelMetadata {
  139. enum PremiumModelStatus {
  140. UNKNOWN_STATUS = 0;
  141. AVAILABLE = 1;
  142. QUOTA_EXCEED_LIMIT = 2;
  143. }
  144. enum ModelType {
  145. UNKNOWN_TYPE = 0;
  146. LLAMA_PROD = 1;
  147. LLAMA_PROD_PREMIUM = 2;
  148. }
  149. optional ModelType modelType = 1;
  150. optional PremiumModelStatus premiumModelStatus = 2;
  151. }
  152. message BotProgressIndicatorMetadata {
  153. message BotPlanningStepMetadata {
  154. enum BotSearchSourceProvider {
  155. UNKNOWN_PROVIDER = 0;
  156. OTHER = 1;
  157. GOOGLE = 2;
  158. BING = 3;
  159. }
  160. enum PlanningStepStatus {
  161. UNKNOWN = 0;
  162. PLANNED = 1;
  163. EXECUTING = 2;
  164. FINISHED = 3;
  165. }
  166. message BotPlanningSearchSourcesMetadata {
  167. enum BotPlanningSearchSourceProvider {
  168. UNKNOWN = 0;
  169. OTHER = 1;
  170. GOOGLE = 2;
  171. BING = 3;
  172. }
  173. optional string sourceTitle = 1;
  174. optional BotPlanningSearchSourceProvider provider = 2;
  175. optional string sourceURL = 3;
  176. }
  177. message BotPlanningStepSectionMetadata {
  178. optional string sectionTitle = 1;
  179. optional string sectionBody = 2;
  180. repeated BotPlanningSearchSourceMetadata sourcesMetadata = 3;
  181. }
  182. message BotPlanningSearchSourceMetadata {
  183. optional string title = 1;
  184. optional BotSearchSourceProvider provider = 2;
  185. optional string sourceURL = 3;
  186. optional string favIconURL = 4;
  187. }
  188. optional string statusTitle = 1;
  189. optional string statusBody = 2;
  190. repeated BotPlanningSearchSourcesMetadata sourcesMetadata = 3;
  191. optional PlanningStepStatus status = 4;
  192. optional bool isReasoning = 5;
  193. optional bool isEnhancedSearch = 6;
  194. repeated BotPlanningStepSectionMetadata sections = 7;
  195. }
  196. optional string progressDescription = 1;
  197. repeated BotPlanningStepMetadata stepsMetadata = 2;
  198. }
  199. message BotCapabilityMetadata {
  200. enum BotCapabilityType {
  201. UNKNOWN = 0;
  202. PROGRESS_INDICATOR = 1;
  203. RICH_RESPONSE_HEADING = 2;
  204. RICH_RESPONSE_NESTED_LIST = 3;
  205. AI_MEMORY = 4;
  206. RICH_RESPONSE_THREAD_SURFING = 5;
  207. RICH_RESPONSE_TABLE = 6;
  208. RICH_RESPONSE_CODE = 7;
  209. RICH_RESPONSE_STRUCTURED_RESPONSE = 8;
  210. RICH_RESPONSE_INLINE_IMAGE = 9;
  211. WA_IG_1P_PLUGIN_RANKING_CONTROL = 10;
  212. WA_IG_1P_PLUGIN_RANKING_UPDATE_1 = 11;
  213. WA_IG_1P_PLUGIN_RANKING_UPDATE_2 = 12;
  214. WA_IG_1P_PLUGIN_RANKING_UPDATE_3 = 13;
  215. WA_IG_1P_PLUGIN_RANKING_UPDATE_4 = 14;
  216. WA_IG_1P_PLUGIN_RANKING_UPDATE_5 = 15;
  217. WA_IG_1P_PLUGIN_RANKING_UPDATE_6 = 16;
  218. WA_IG_1P_PLUGIN_RANKING_UPDATE_7 = 17;
  219. WA_IG_1P_PLUGIN_RANKING_UPDATE_8 = 18;
  220. WA_IG_1P_PLUGIN_RANKING_UPDATE_9 = 19;
  221. WA_IG_1P_PLUGIN_RANKING_UPDATE_10 = 20;
  222. RICH_RESPONSE_SUB_HEADING = 21;
  223. RICH_RESPONSE_GRID_IMAGE = 22;
  224. AI_STUDIO_UGC_MEMORY = 23;
  225. RICH_RESPONSE_LATEX = 24;
  226. RICH_RESPONSE_MAPS = 25;
  227. RICH_RESPONSE_INLINE_REELS = 26;
  228. AGENTIC_PLANNING = 27;
  229. ACCOUNT_LINKING = 28;
  230. STREAMING_DISAGGREGATION = 29;
  231. RICH_RESPONSE_GRID_IMAGE_3P = 30;
  232. RICH_RESPONSE_LATEX_INLINE = 31;
  233. QUERY_PLAN = 32;
  234. PROACTIVE_MESSAGE = 33;
  235. RICH_RESPONSE_UNIFIED_RESPONSE = 34;
  236. PROMOTION_MESSAGE = 35;
  237. SIMPLIFIED_PROFILE_PAGE = 36;
  238. RICH_RESPONSE_SOURCES_IN_MESSAGE = 37;
  239. RICH_RESPONSE_SIDE_BY_SIDE_SURVEY = 38;
  240. RICH_RESPONSE_UNIFIED_TEXT_COMPONENT = 39;
  241. AI_SHARED_MEMORY = 40;
  242. RICH_RESPONSE_UNIFIED_SOURCES = 41;
  243. RICH_RESPONSE_UNIFIED_DOMAIN_CITATIONS = 42;
  244. }
  245. repeated BotCapabilityType capabilities = 1;
  246. }
  247. message BotModeSelectionMetadata {
  248. enum BotUserSelectionMode {
  249. UNKNOWN_MODE = 0;
  250. REASONING_MODE = 1;
  251. }
  252. repeated BotUserSelectionMode mode = 1;
  253. }
  254. message BotQuotaMetadata {
  255. message BotFeatureQuotaMetadata {
  256. enum BotFeatureType {
  257. UNKNOWN_FEATURE = 0;
  258. REASONING_FEATURE = 1;
  259. }
  260. optional BotFeatureType featureType = 1;
  261. optional uint32 remainingQuota = 2;
  262. optional uint64 expirationTimestamp = 3;
  263. }
  264. repeated BotFeatureQuotaMetadata botFeatureQuotaMetadata = 1;
  265. }
  266. message BotImagineMetadata {
  267. enum ImagineType {
  268. UNKNOWN = 0;
  269. IMAGINE = 1;
  270. MEMU = 2;
  271. FLASH = 3;
  272. EDIT = 4;
  273. }
  274. optional ImagineType imagineType = 1;
  275. }
  276. message BotSourcesMetadata {
  277. message BotSourceItem {
  278. enum SourceProvider {
  279. UNKNOWN = 0;
  280. BING = 1;
  281. GOOGLE = 2;
  282. SUPPORT = 3;
  283. OTHER = 4;
  284. }
  285. optional SourceProvider provider = 1;
  286. optional string thumbnailCDNURL = 2;
  287. optional string sourceProviderURL = 3;
  288. optional string sourceQuery = 4;
  289. optional string faviconCDNURL = 5;
  290. optional uint32 citationNumber = 6;
  291. optional string sourceTitle = 7;
  292. }
  293. repeated BotSourceItem sources = 1;
  294. }
  295. message BotMessageOrigin {
  296. enum BotMessageOriginType {
  297. BOT_MESSAGE_ORIGIN_TYPE_AI_INITIATED = 0;
  298. }
  299. optional BotMessageOriginType type = 1;
  300. }
  301. message AIThreadInfo {
  302. message AIThreadClientInfo {
  303. enum AIThreadType {
  304. UNKNOWN = 0;
  305. DEFAULT = 1;
  306. INCOGNITO = 2;
  307. }
  308. optional AIThreadType type = 1;
  309. }
  310. message AIThreadServerInfo {
  311. optional string title = 1;
  312. }
  313. optional AIThreadServerInfo serverInfo = 1;
  314. optional AIThreadClientInfo clientInfo = 2;
  315. }
  316. message BotAvatarMetadata {
  317. optional uint32 sentiment = 1;
  318. optional string behaviorGraph = 2;
  319. optional uint32 action = 3;
  320. optional uint32 intensity = 4;
  321. optional uint32 wordCount = 5;
  322. }
  323. message BotSuggestedPromptMetadata {
  324. repeated string suggestedPrompts = 1;
  325. optional uint32 selectedPromptIndex = 2;
  326. optional BotPromptSuggestions promptSuggestions = 3;
  327. optional string selectedPromptID = 4;
  328. }
  329. message BotPromptSuggestions {
  330. repeated BotPromptSuggestion suggestions = 1;
  331. }
  332. message BotPromptSuggestion {
  333. optional string prompt = 1;
  334. optional string promptID = 2;
  335. }
  336. message BotLinkedAccountsMetadata {
  337. repeated BotLinkedAccount accounts = 1;
  338. optional bytes acAuthTokens = 2;
  339. optional int32 acErrorCode = 3;
  340. }
  341. message BotMemoryMetadata {
  342. repeated BotMemoryFact addedFacts = 1;
  343. repeated BotMemoryFact removedFacts = 2;
  344. optional string disclaimer = 3;
  345. }
  346. message BotMemoryFact {
  347. optional string fact = 1;
  348. optional string factID = 2;
  349. }
  350. message BotSignatureVerificationMetadata {
  351. repeated BotSignatureVerificationUseCaseProof proofs = 1;
  352. }
  353. message BotRenderingMetadata {
  354. message Keyword {
  355. optional string value = 1;
  356. repeated string associatedPrompts = 2;
  357. }
  358. repeated Keyword keywords = 1;
  359. }
  360. message BotMetricsMetadata {
  361. optional string destinationID = 1;
  362. optional BotMetricsEntryPoint destinationEntryPoint = 2;
  363. optional BotMetricsThreadEntryPoint threadOrigin = 3;
  364. }
  365. message BotSessionMetadata {
  366. optional string sessionID = 1;
  367. optional BotSessionSource sessionSource = 2;
  368. }
  369. message BotMemuMetadata {
  370. repeated BotMediaMetadata faceImages = 1;
  371. }
  372. message BotAgeCollectionMetadata {
  373. optional bool ageCollectionEligible = 1;
  374. optional bool shouldTriggerAgeCollectionOnClient = 2;
  375. }
  376. message InThreadSurveyMetadata {
  377. message InThreadSurveyPrivacyStatementPart {
  378. optional string text = 1;
  379. optional string URL = 2;
  380. }
  381. message InThreadSurveyOption {
  382. optional string stringValue = 1;
  383. optional uint32 numericValue = 2;
  384. optional string textTranslated = 3;
  385. }
  386. message InThreadSurveyQuestion {
  387. optional string questionText = 1;
  388. optional string questionID = 2;
  389. repeated InThreadSurveyOption questionOptions = 3;
  390. }
  391. optional string tessaSessionID = 1;
  392. optional string simonSessionID = 2;
  393. optional string simonSurveyID = 3;
  394. optional string tessaRootID = 4;
  395. optional string requestID = 5;
  396. optional string tessaEvent = 6;
  397. optional string invitationHeaderText = 7;
  398. optional string invitationBodyText = 8;
  399. optional string invitationCtaText = 9;
  400. optional string invitationCtaURL = 10;
  401. optional string surveyTitle = 11;
  402. repeated InThreadSurveyQuestion questions = 12;
  403. optional string surveyContinueButtonText = 13;
  404. optional string surveySubmitButtonText = 14;
  405. optional string privacyStatementFull = 15;
  406. repeated InThreadSurveyPrivacyStatementPart privacyStatementParts = 16;
  407. optional string feedbackToastText = 17;
  408. }
  409. message BotMessageOriginMetadata {
  410. repeated BotMessageOrigin origins = 1;
  411. }
  412. message BotUnifiedResponseMutation {
  413. message MediaDetailsMetadata {
  414. optional string ID = 1;
  415. optional BotMediaMetadata highResMedia = 2;
  416. optional BotMediaMetadata previewMedia = 3;
  417. }
  418. message SideBySideMetadata {
  419. optional string primaryResponseID = 1;
  420. }
  421. optional SideBySideMetadata sbsMetadata = 1;
  422. repeated MediaDetailsMetadata mediaDetailsMetadataList = 2;
  423. }
  424. message BotMetadata {
  425. optional BotAvatarMetadata avatarMetadata = 1;
  426. optional string personaID = 2;
  427. optional BotPluginMetadata pluginMetadata = 3;
  428. optional BotSuggestedPromptMetadata suggestedPromptMetadata = 4;
  429. optional string invokerJID = 5;
  430. optional BotSessionMetadata sessionMetadata = 6;
  431. optional BotMemuMetadata memuMetadata = 7;
  432. optional string timezone = 8;
  433. optional BotReminderMetadata reminderMetadata = 9;
  434. optional BotModelMetadata modelMetadata = 10;
  435. optional string messageDisclaimerText = 11;
  436. optional BotProgressIndicatorMetadata progressIndicatorMetadata = 12;
  437. optional BotCapabilityMetadata capabilityMetadata = 13;
  438. optional BotImagineMetadata imagineMetadata = 14;
  439. optional BotMemoryMetadata memoryMetadata = 15;
  440. optional BotRenderingMetadata renderingMetadata = 16;
  441. optional BotMetricsMetadata botMetricsMetadata = 17;
  442. optional BotLinkedAccountsMetadata botLinkedAccountsMetadata = 18;
  443. optional BotSourcesMetadata richResponseSourcesMetadata = 19;
  444. optional bytes aiConversationContext = 20;
  445. optional BotPromotionMessageMetadata botPromotionMessageMetadata = 21;
  446. optional BotModeSelectionMetadata botModeSelectionMetadata = 22;
  447. optional BotQuotaMetadata botQuotaMetadata = 23;
  448. optional BotAgeCollectionMetadata botAgeCollectionMetadata = 24;
  449. optional string conversationStarterPromptID = 25;
  450. optional string botResponseID = 26;
  451. optional BotSignatureVerificationMetadata verificationMetadata = 27;
  452. optional BotUnifiedResponseMutation unifiedResponseMutation = 28;
  453. optional BotMessageOriginMetadata botMessageOriginMetadata = 29;
  454. optional InThreadSurveyMetadata inThreadSurveyMetadata = 30;
  455. optional AIThreadInfo botThreadInfo = 31;
  456. optional bytes internalMetadata = 999;
  457. }