@elizaos/python 2.0.0-alpha.10 → 2.0.0-alpha.26

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (145) hide show
  1. package/elizaos/__init__.py +0 -1
  2. package/elizaos/advanced_capabilities/__init__.py +6 -41
  3. package/elizaos/advanced_capabilities/actions/__init__.py +1 -21
  4. package/elizaos/advanced_capabilities/actions/add_contact.py +21 -11
  5. package/elizaos/advanced_capabilities/actions/follow_room.py +28 -28
  6. package/elizaos/advanced_capabilities/actions/image_generation.py +13 -26
  7. package/elizaos/advanced_capabilities/actions/mute_room.py +13 -26
  8. package/elizaos/advanced_capabilities/actions/remove_contact.py +16 -2
  9. package/elizaos/advanced_capabilities/actions/roles.py +13 -27
  10. package/elizaos/advanced_capabilities/actions/schedule_follow_up.py +70 -15
  11. package/elizaos/advanced_capabilities/actions/search_contacts.py +17 -3
  12. package/elizaos/advanced_capabilities/actions/send_message.py +183 -50
  13. package/elizaos/advanced_capabilities/actions/settings.py +16 -2
  14. package/elizaos/advanced_capabilities/actions/unfollow_room.py +13 -26
  15. package/elizaos/advanced_capabilities/actions/unmute_room.py +13 -26
  16. package/elizaos/advanced_capabilities/actions/update_contact.py +16 -2
  17. package/elizaos/advanced_capabilities/actions/update_entity.py +16 -2
  18. package/elizaos/advanced_capabilities/evaluators/__init__.py +2 -9
  19. package/elizaos/advanced_capabilities/evaluators/reflection.py +3 -132
  20. package/elizaos/advanced_capabilities/evaluators/relationship_extraction.py +5 -201
  21. package/elizaos/advanced_capabilities/providers/__init__.py +1 -12
  22. package/elizaos/advanced_capabilities/providers/knowledge.py +24 -3
  23. package/elizaos/advanced_capabilities/services/__init__.py +2 -9
  24. package/elizaos/advanced_memory/actions/reset_session.py +11 -0
  25. package/elizaos/advanced_memory/evaluators/reflection.py +134 -0
  26. package/elizaos/advanced_memory/evaluators/relationship_extraction.py +203 -0
  27. package/elizaos/advanced_memory/memory_service.py +15 -17
  28. package/elizaos/advanced_memory/test_advanced_memory.py +357 -0
  29. package/elizaos/advanced_planning/actions/schedule_follow_up.py +222 -0
  30. package/elizaos/advanced_planning/planning_service.py +26 -14
  31. package/elizaos/basic_capabilities/__init__.py +0 -2
  32. package/elizaos/basic_capabilities/providers/__init__.py +0 -3
  33. package/elizaos/basic_capabilities/providers/actions.py +118 -29
  34. package/elizaos/basic_capabilities/providers/agent_settings.py +64 -0
  35. package/elizaos/basic_capabilities/providers/character.py +19 -21
  36. package/elizaos/basic_capabilities/providers/contacts.py +79 -0
  37. package/elizaos/basic_capabilities/providers/current_time.py +7 -4
  38. package/elizaos/basic_capabilities/providers/facts.py +87 -0
  39. package/elizaos/basic_capabilities/providers/follow_ups.py +117 -0
  40. package/elizaos/basic_capabilities/providers/knowledge.py +97 -0
  41. package/elizaos/basic_capabilities/providers/relationships.py +107 -0
  42. package/elizaos/basic_capabilities/providers/roles.py +96 -0
  43. package/elizaos/basic_capabilities/providers/settings.py +56 -0
  44. package/elizaos/basic_capabilities/providers/time.py +7 -4
  45. package/elizaos/bootstrap/__init__.py +21 -2
  46. package/elizaos/bootstrap/actions/schedule_follow_up.py +65 -7
  47. package/elizaos/bootstrap/actions/send_message.py +162 -15
  48. package/elizaos/bootstrap/autonomy/__init__.py +5 -1
  49. package/elizaos/bootstrap/autonomy/action.py +161 -0
  50. package/elizaos/bootstrap/autonomy/evaluators.py +217 -0
  51. package/elizaos/bootstrap/autonomy/service.py +238 -28
  52. package/elizaos/bootstrap/plugin.py +7 -0
  53. package/elizaos/bootstrap/providers/actions.py +118 -27
  54. package/elizaos/bootstrap/providers/agent_settings.py +1 -0
  55. package/elizaos/bootstrap/providers/attachments.py +1 -0
  56. package/elizaos/bootstrap/providers/capabilities.py +1 -0
  57. package/elizaos/bootstrap/providers/character.py +1 -0
  58. package/elizaos/bootstrap/providers/choice.py +1 -0
  59. package/elizaos/bootstrap/providers/contacts.py +1 -0
  60. package/elizaos/bootstrap/providers/current_time.py +8 -2
  61. package/elizaos/bootstrap/providers/entities.py +1 -0
  62. package/elizaos/bootstrap/providers/evaluators.py +1 -0
  63. package/elizaos/bootstrap/providers/facts.py +1 -0
  64. package/elizaos/bootstrap/providers/follow_ups.py +1 -0
  65. package/elizaos/bootstrap/providers/knowledge.py +27 -3
  66. package/elizaos/bootstrap/providers/providers_list.py +1 -0
  67. package/elizaos/bootstrap/providers/relationships.py +1 -0
  68. package/elizaos/bootstrap/providers/roles.py +1 -0
  69. package/elizaos/bootstrap/providers/settings.py +1 -0
  70. package/elizaos/bootstrap/providers/time.py +8 -4
  71. package/elizaos/bootstrap/providers/world.py +1 -0
  72. package/elizaos/bootstrap/services/embedding.py +156 -1
  73. package/elizaos/deterministic.py +193 -0
  74. package/elizaos/generated/__init__.py +1 -0
  75. package/elizaos/generated/action_docs.py +3181 -0
  76. package/elizaos/generated/spec_helpers.py +175 -0
  77. package/elizaos/media/mime.py +2 -2
  78. package/elizaos/media/search.py +23 -23
  79. package/elizaos/runtime.py +215 -57
  80. package/elizaos/services/message_service.py +175 -29
  81. package/elizaos/types/components.py +2 -2
  82. package/elizaos/types/generated/__init__.py +12 -0
  83. package/elizaos/types/generated/eliza/v1/agent_pb2.py +63 -0
  84. package/elizaos/types/generated/eliza/v1/agent_pb2.pyi +159 -0
  85. package/elizaos/types/generated/eliza/v1/components_pb2.py +65 -0
  86. package/elizaos/types/generated/eliza/v1/components_pb2.pyi +160 -0
  87. package/elizaos/types/generated/eliza/v1/database_pb2.py +78 -0
  88. package/elizaos/types/generated/eliza/v1/database_pb2.pyi +305 -0
  89. package/elizaos/types/generated/eliza/v1/environment_pb2.py +58 -0
  90. package/elizaos/types/generated/eliza/v1/environment_pb2.pyi +135 -0
  91. package/elizaos/types/generated/eliza/v1/events_pb2.py +82 -0
  92. package/elizaos/types/generated/eliza/v1/events_pb2.pyi +322 -0
  93. package/elizaos/types/generated/eliza/v1/ipc_pb2.py +113 -0
  94. package/elizaos/types/generated/eliza/v1/ipc_pb2.pyi +367 -0
  95. package/elizaos/types/generated/eliza/v1/knowledge_pb2.py +41 -0
  96. package/elizaos/types/generated/eliza/v1/knowledge_pb2.pyi +26 -0
  97. package/elizaos/types/generated/eliza/v1/memory_pb2.py +55 -0
  98. package/elizaos/types/generated/eliza/v1/memory_pb2.pyi +111 -0
  99. package/elizaos/types/generated/eliza/v1/message_service_pb2.py +48 -0
  100. package/elizaos/types/generated/eliza/v1/message_service_pb2.pyi +69 -0
  101. package/elizaos/types/generated/eliza/v1/messaging_pb2.py +51 -0
  102. package/elizaos/types/generated/eliza/v1/messaging_pb2.pyi +97 -0
  103. package/elizaos/types/generated/eliza/v1/model_pb2.py +84 -0
  104. package/elizaos/types/generated/eliza/v1/model_pb2.pyi +280 -0
  105. package/elizaos/types/generated/eliza/v1/payment_pb2.py +44 -0
  106. package/elizaos/types/generated/eliza/v1/payment_pb2.pyi +70 -0
  107. package/elizaos/types/generated/eliza/v1/plugin_pb2.py +68 -0
  108. package/elizaos/types/generated/eliza/v1/plugin_pb2.pyi +145 -0
  109. package/elizaos/types/generated/eliza/v1/primitives_pb2.py +48 -0
  110. package/elizaos/types/generated/eliza/v1/primitives_pb2.pyi +92 -0
  111. package/elizaos/types/generated/eliza/v1/prompts_pb2.py +52 -0
  112. package/elizaos/types/generated/eliza/v1/prompts_pb2.pyi +74 -0
  113. package/elizaos/types/generated/eliza/v1/service_interfaces_pb2.py +211 -0
  114. package/elizaos/types/generated/eliza/v1/service_interfaces_pb2.pyi +1296 -0
  115. package/elizaos/types/generated/eliza/v1/service_pb2.py +42 -0
  116. package/elizaos/types/generated/eliza/v1/service_pb2.pyi +69 -0
  117. package/elizaos/types/generated/eliza/v1/settings_pb2.py +58 -0
  118. package/elizaos/types/generated/eliza/v1/settings_pb2.pyi +85 -0
  119. package/elizaos/types/generated/eliza/v1/state_pb2.py +60 -0
  120. package/elizaos/types/generated/eliza/v1/state_pb2.pyi +114 -0
  121. package/elizaos/types/generated/eliza/v1/task_pb2.py +42 -0
  122. package/elizaos/types/generated/eliza/v1/task_pb2.pyi +58 -0
  123. package/elizaos/types/generated/eliza/v1/tee_pb2.py +52 -0
  124. package/elizaos/types/generated/eliza/v1/tee_pb2.pyi +90 -0
  125. package/elizaos/types/generated/eliza/v1/testing_pb2.py +39 -0
  126. package/elizaos/types/generated/eliza/v1/testing_pb2.pyi +23 -0
  127. package/elizaos/types/model.py +30 -0
  128. package/elizaos/types/runtime.py +6 -2
  129. package/elizaos/utils/validation.py +76 -0
  130. package/package.json +3 -2
  131. package/tests/test_action_parameters.py +2 -3
  132. package/tests/test_actions_provider_examples.py +58 -1
  133. package/tests/test_advanced_memory_behavior.py +0 -2
  134. package/tests/test_advanced_memory_flag.py +0 -2
  135. package/tests/test_advanced_planning_behavior.py +11 -5
  136. package/tests/test_async_embedding.py +124 -0
  137. package/tests/test_autonomy.py +24 -3
  138. package/tests/test_runtime.py +8 -17
  139. package/tests/test_schedule_follow_up_action.py +260 -0
  140. package/tests/test_send_message_action_targets.py +114 -0
  141. package/tests/test_settings_crypto.py +0 -2
  142. package/tests/test_validation.py +141 -0
  143. package/tests/verify_memory_architecture.py +192 -0
  144. package/uv.lock +1565 -0
  145. package/elizaos/basic_capabilities/providers/capabilities.py +0 -62
@@ -0,0 +1,1296 @@
1
+ import datetime
2
+
3
+ from google.protobuf import struct_pb2 as _struct_pb2
4
+ from google.protobuf import timestamp_pb2 as _timestamp_pb2
5
+ from google.protobuf.internal import containers as _containers
6
+ from google.protobuf import descriptor as _descriptor
7
+ from google.protobuf import message as _message
8
+ from collections.abc import Iterable as _Iterable, Mapping as _Mapping
9
+ from typing import ClassVar as _ClassVar, Optional as _Optional, Union as _Union
10
+
11
+ DESCRIPTOR: _descriptor.FileDescriptor
12
+
13
+ class TokenBalance(_message.Message):
14
+ __slots__ = ("address", "balance", "decimals", "ui_amount", "name", "symbol", "logo_uri")
15
+ ADDRESS_FIELD_NUMBER: _ClassVar[int]
16
+ BALANCE_FIELD_NUMBER: _ClassVar[int]
17
+ DECIMALS_FIELD_NUMBER: _ClassVar[int]
18
+ UI_AMOUNT_FIELD_NUMBER: _ClassVar[int]
19
+ NAME_FIELD_NUMBER: _ClassVar[int]
20
+ SYMBOL_FIELD_NUMBER: _ClassVar[int]
21
+ LOGO_URI_FIELD_NUMBER: _ClassVar[int]
22
+ address: str
23
+ balance: str
24
+ decimals: int
25
+ ui_amount: float
26
+ name: str
27
+ symbol: str
28
+ logo_uri: str
29
+ def __init__(self, address: _Optional[str] = ..., balance: _Optional[str] = ..., decimals: _Optional[int] = ..., ui_amount: _Optional[float] = ..., name: _Optional[str] = ..., symbol: _Optional[str] = ..., logo_uri: _Optional[str] = ...) -> None: ...
30
+
31
+ class TokenData(_message.Message):
32
+ __slots__ = ("id", "symbol", "name", "address", "chain", "source_provider", "price", "price_change_24h_percent", "price_change_24h_usd", "volume_24h_usd", "market_cap_usd", "liquidity", "holders", "logo_uri", "decimals", "last_updated_at", "raw")
33
+ ID_FIELD_NUMBER: _ClassVar[int]
34
+ SYMBOL_FIELD_NUMBER: _ClassVar[int]
35
+ NAME_FIELD_NUMBER: _ClassVar[int]
36
+ ADDRESS_FIELD_NUMBER: _ClassVar[int]
37
+ CHAIN_FIELD_NUMBER: _ClassVar[int]
38
+ SOURCE_PROVIDER_FIELD_NUMBER: _ClassVar[int]
39
+ PRICE_FIELD_NUMBER: _ClassVar[int]
40
+ PRICE_CHANGE_24H_PERCENT_FIELD_NUMBER: _ClassVar[int]
41
+ PRICE_CHANGE_24H_USD_FIELD_NUMBER: _ClassVar[int]
42
+ VOLUME_24H_USD_FIELD_NUMBER: _ClassVar[int]
43
+ MARKET_CAP_USD_FIELD_NUMBER: _ClassVar[int]
44
+ LIQUIDITY_FIELD_NUMBER: _ClassVar[int]
45
+ HOLDERS_FIELD_NUMBER: _ClassVar[int]
46
+ LOGO_URI_FIELD_NUMBER: _ClassVar[int]
47
+ DECIMALS_FIELD_NUMBER: _ClassVar[int]
48
+ LAST_UPDATED_AT_FIELD_NUMBER: _ClassVar[int]
49
+ RAW_FIELD_NUMBER: _ClassVar[int]
50
+ id: str
51
+ symbol: str
52
+ name: str
53
+ address: str
54
+ chain: str
55
+ source_provider: str
56
+ price: float
57
+ price_change_24h_percent: float
58
+ price_change_24h_usd: float
59
+ volume_24h_usd: float
60
+ market_cap_usd: float
61
+ liquidity: float
62
+ holders: float
63
+ logo_uri: str
64
+ decimals: int
65
+ last_updated_at: _timestamp_pb2.Timestamp
66
+ raw: _struct_pb2.Struct
67
+ def __init__(self, id: _Optional[str] = ..., symbol: _Optional[str] = ..., name: _Optional[str] = ..., address: _Optional[str] = ..., chain: _Optional[str] = ..., source_provider: _Optional[str] = ..., price: _Optional[float] = ..., price_change_24h_percent: _Optional[float] = ..., price_change_24h_usd: _Optional[float] = ..., volume_24h_usd: _Optional[float] = ..., market_cap_usd: _Optional[float] = ..., liquidity: _Optional[float] = ..., holders: _Optional[float] = ..., logo_uri: _Optional[str] = ..., decimals: _Optional[int] = ..., last_updated_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ..., raw: _Optional[_Union[_struct_pb2.Struct, _Mapping]] = ...) -> None: ...
68
+
69
+ class WalletAsset(_message.Message):
70
+ __slots__ = ("address", "balance", "decimals", "ui_amount", "name", "symbol", "logo_uri", "price_usd", "value_usd")
71
+ ADDRESS_FIELD_NUMBER: _ClassVar[int]
72
+ BALANCE_FIELD_NUMBER: _ClassVar[int]
73
+ DECIMALS_FIELD_NUMBER: _ClassVar[int]
74
+ UI_AMOUNT_FIELD_NUMBER: _ClassVar[int]
75
+ NAME_FIELD_NUMBER: _ClassVar[int]
76
+ SYMBOL_FIELD_NUMBER: _ClassVar[int]
77
+ LOGO_URI_FIELD_NUMBER: _ClassVar[int]
78
+ PRICE_USD_FIELD_NUMBER: _ClassVar[int]
79
+ VALUE_USD_FIELD_NUMBER: _ClassVar[int]
80
+ address: str
81
+ balance: str
82
+ decimals: int
83
+ ui_amount: float
84
+ name: str
85
+ symbol: str
86
+ logo_uri: str
87
+ price_usd: float
88
+ value_usd: float
89
+ def __init__(self, address: _Optional[str] = ..., balance: _Optional[str] = ..., decimals: _Optional[int] = ..., ui_amount: _Optional[float] = ..., name: _Optional[str] = ..., symbol: _Optional[str] = ..., logo_uri: _Optional[str] = ..., price_usd: _Optional[float] = ..., value_usd: _Optional[float] = ...) -> None: ...
90
+
91
+ class WalletPortfolio(_message.Message):
92
+ __slots__ = ("total_value_usd", "assets")
93
+ TOTAL_VALUE_USD_FIELD_NUMBER: _ClassVar[int]
94
+ ASSETS_FIELD_NUMBER: _ClassVar[int]
95
+ total_value_usd: float
96
+ assets: _containers.RepeatedCompositeFieldContainer[WalletAsset]
97
+ def __init__(self, total_value_usd: _Optional[float] = ..., assets: _Optional[_Iterable[_Union[WalletAsset, _Mapping]]] = ...) -> None: ...
98
+
99
+ class PoolTokenInfo(_message.Message):
100
+ __slots__ = ("mint", "symbol", "reserve", "decimals")
101
+ MINT_FIELD_NUMBER: _ClassVar[int]
102
+ SYMBOL_FIELD_NUMBER: _ClassVar[int]
103
+ RESERVE_FIELD_NUMBER: _ClassVar[int]
104
+ DECIMALS_FIELD_NUMBER: _ClassVar[int]
105
+ mint: str
106
+ symbol: str
107
+ reserve: str
108
+ decimals: int
109
+ def __init__(self, mint: _Optional[str] = ..., symbol: _Optional[str] = ..., reserve: _Optional[str] = ..., decimals: _Optional[int] = ...) -> None: ...
110
+
111
+ class PoolInfo(_message.Message):
112
+ __slots__ = ("id", "display_name", "dex", "token_a", "token_b", "lp_token_mint", "apr", "apy", "tvl", "fee", "metadata")
113
+ ID_FIELD_NUMBER: _ClassVar[int]
114
+ DISPLAY_NAME_FIELD_NUMBER: _ClassVar[int]
115
+ DEX_FIELD_NUMBER: _ClassVar[int]
116
+ TOKEN_A_FIELD_NUMBER: _ClassVar[int]
117
+ TOKEN_B_FIELD_NUMBER: _ClassVar[int]
118
+ LP_TOKEN_MINT_FIELD_NUMBER: _ClassVar[int]
119
+ APR_FIELD_NUMBER: _ClassVar[int]
120
+ APY_FIELD_NUMBER: _ClassVar[int]
121
+ TVL_FIELD_NUMBER: _ClassVar[int]
122
+ FEE_FIELD_NUMBER: _ClassVar[int]
123
+ METADATA_FIELD_NUMBER: _ClassVar[int]
124
+ id: str
125
+ display_name: str
126
+ dex: str
127
+ token_a: PoolTokenInfo
128
+ token_b: PoolTokenInfo
129
+ lp_token_mint: str
130
+ apr: float
131
+ apy: float
132
+ tvl: float
133
+ fee: float
134
+ metadata: _struct_pb2.Struct
135
+ def __init__(self, id: _Optional[str] = ..., display_name: _Optional[str] = ..., dex: _Optional[str] = ..., token_a: _Optional[_Union[PoolTokenInfo, _Mapping]] = ..., token_b: _Optional[_Union[PoolTokenInfo, _Mapping]] = ..., lp_token_mint: _Optional[str] = ..., apr: _Optional[float] = ..., apy: _Optional[float] = ..., tvl: _Optional[float] = ..., fee: _Optional[float] = ..., metadata: _Optional[_Union[_struct_pb2.Struct, _Mapping]] = ...) -> None: ...
136
+
137
+ class LpPositionDetails(_message.Message):
138
+ __slots__ = ("pool_id", "dex", "lp_token_balance", "underlying_tokens", "value_usd", "accrued_fees", "rewards", "metadata")
139
+ POOL_ID_FIELD_NUMBER: _ClassVar[int]
140
+ DEX_FIELD_NUMBER: _ClassVar[int]
141
+ LP_TOKEN_BALANCE_FIELD_NUMBER: _ClassVar[int]
142
+ UNDERLYING_TOKENS_FIELD_NUMBER: _ClassVar[int]
143
+ VALUE_USD_FIELD_NUMBER: _ClassVar[int]
144
+ ACCRUED_FEES_FIELD_NUMBER: _ClassVar[int]
145
+ REWARDS_FIELD_NUMBER: _ClassVar[int]
146
+ METADATA_FIELD_NUMBER: _ClassVar[int]
147
+ pool_id: str
148
+ dex: str
149
+ lp_token_balance: TokenBalance
150
+ underlying_tokens: _containers.RepeatedCompositeFieldContainer[TokenBalance]
151
+ value_usd: float
152
+ accrued_fees: _containers.RepeatedCompositeFieldContainer[TokenBalance]
153
+ rewards: _containers.RepeatedCompositeFieldContainer[TokenBalance]
154
+ metadata: _struct_pb2.Struct
155
+ def __init__(self, pool_id: _Optional[str] = ..., dex: _Optional[str] = ..., lp_token_balance: _Optional[_Union[TokenBalance, _Mapping]] = ..., underlying_tokens: _Optional[_Iterable[_Union[TokenBalance, _Mapping]]] = ..., value_usd: _Optional[float] = ..., accrued_fees: _Optional[_Iterable[_Union[TokenBalance, _Mapping]]] = ..., rewards: _Optional[_Iterable[_Union[TokenBalance, _Mapping]]] = ..., metadata: _Optional[_Union[_struct_pb2.Struct, _Mapping]] = ...) -> None: ...
156
+
157
+ class TransactionResult(_message.Message):
158
+ __slots__ = ("success", "transaction_id", "error", "data")
159
+ SUCCESS_FIELD_NUMBER: _ClassVar[int]
160
+ TRANSACTION_ID_FIELD_NUMBER: _ClassVar[int]
161
+ ERROR_FIELD_NUMBER: _ClassVar[int]
162
+ DATA_FIELD_NUMBER: _ClassVar[int]
163
+ success: bool
164
+ transaction_id: str
165
+ error: str
166
+ data: _struct_pb2.Struct
167
+ def __init__(self, success: _Optional[bool] = ..., transaction_id: _Optional[str] = ..., error: _Optional[str] = ..., data: _Optional[_Union[_struct_pb2.Struct, _Mapping]] = ...) -> None: ...
168
+
169
+ class TranscriptionOptions(_message.Message):
170
+ __slots__ = ("language", "model", "temperature", "prompt", "response_format", "timestamp_granularities", "word_timestamps", "segment_timestamps")
171
+ LANGUAGE_FIELD_NUMBER: _ClassVar[int]
172
+ MODEL_FIELD_NUMBER: _ClassVar[int]
173
+ TEMPERATURE_FIELD_NUMBER: _ClassVar[int]
174
+ PROMPT_FIELD_NUMBER: _ClassVar[int]
175
+ RESPONSE_FORMAT_FIELD_NUMBER: _ClassVar[int]
176
+ TIMESTAMP_GRANULARITIES_FIELD_NUMBER: _ClassVar[int]
177
+ WORD_TIMESTAMPS_FIELD_NUMBER: _ClassVar[int]
178
+ SEGMENT_TIMESTAMPS_FIELD_NUMBER: _ClassVar[int]
179
+ language: str
180
+ model: str
181
+ temperature: float
182
+ prompt: str
183
+ response_format: str
184
+ timestamp_granularities: _containers.RepeatedScalarFieldContainer[str]
185
+ word_timestamps: bool
186
+ segment_timestamps: bool
187
+ def __init__(self, language: _Optional[str] = ..., model: _Optional[str] = ..., temperature: _Optional[float] = ..., prompt: _Optional[str] = ..., response_format: _Optional[str] = ..., timestamp_granularities: _Optional[_Iterable[str]] = ..., word_timestamps: _Optional[bool] = ..., segment_timestamps: _Optional[bool] = ...) -> None: ...
188
+
189
+ class TranscriptionResult(_message.Message):
190
+ __slots__ = ("text", "language", "duration", "segments", "words", "confidence")
191
+ TEXT_FIELD_NUMBER: _ClassVar[int]
192
+ LANGUAGE_FIELD_NUMBER: _ClassVar[int]
193
+ DURATION_FIELD_NUMBER: _ClassVar[int]
194
+ SEGMENTS_FIELD_NUMBER: _ClassVar[int]
195
+ WORDS_FIELD_NUMBER: _ClassVar[int]
196
+ CONFIDENCE_FIELD_NUMBER: _ClassVar[int]
197
+ text: str
198
+ language: str
199
+ duration: float
200
+ segments: _containers.RepeatedCompositeFieldContainer[TranscriptionSegment]
201
+ words: _containers.RepeatedCompositeFieldContainer[TranscriptionWord]
202
+ confidence: float
203
+ def __init__(self, text: _Optional[str] = ..., language: _Optional[str] = ..., duration: _Optional[float] = ..., segments: _Optional[_Iterable[_Union[TranscriptionSegment, _Mapping]]] = ..., words: _Optional[_Iterable[_Union[TranscriptionWord, _Mapping]]] = ..., confidence: _Optional[float] = ...) -> None: ...
204
+
205
+ class TranscriptionSegment(_message.Message):
206
+ __slots__ = ("id", "text", "start", "end", "confidence", "tokens", "temperature", "avg_logprob", "compression_ratio", "no_speech_prob")
207
+ ID_FIELD_NUMBER: _ClassVar[int]
208
+ TEXT_FIELD_NUMBER: _ClassVar[int]
209
+ START_FIELD_NUMBER: _ClassVar[int]
210
+ END_FIELD_NUMBER: _ClassVar[int]
211
+ CONFIDENCE_FIELD_NUMBER: _ClassVar[int]
212
+ TOKENS_FIELD_NUMBER: _ClassVar[int]
213
+ TEMPERATURE_FIELD_NUMBER: _ClassVar[int]
214
+ AVG_LOGPROB_FIELD_NUMBER: _ClassVar[int]
215
+ COMPRESSION_RATIO_FIELD_NUMBER: _ClassVar[int]
216
+ NO_SPEECH_PROB_FIELD_NUMBER: _ClassVar[int]
217
+ id: int
218
+ text: str
219
+ start: float
220
+ end: float
221
+ confidence: float
222
+ tokens: _containers.RepeatedScalarFieldContainer[int]
223
+ temperature: float
224
+ avg_logprob: float
225
+ compression_ratio: float
226
+ no_speech_prob: float
227
+ def __init__(self, id: _Optional[int] = ..., text: _Optional[str] = ..., start: _Optional[float] = ..., end: _Optional[float] = ..., confidence: _Optional[float] = ..., tokens: _Optional[_Iterable[int]] = ..., temperature: _Optional[float] = ..., avg_logprob: _Optional[float] = ..., compression_ratio: _Optional[float] = ..., no_speech_prob: _Optional[float] = ...) -> None: ...
228
+
229
+ class TranscriptionWord(_message.Message):
230
+ __slots__ = ("word", "start", "end", "confidence")
231
+ WORD_FIELD_NUMBER: _ClassVar[int]
232
+ START_FIELD_NUMBER: _ClassVar[int]
233
+ END_FIELD_NUMBER: _ClassVar[int]
234
+ CONFIDENCE_FIELD_NUMBER: _ClassVar[int]
235
+ word: str
236
+ start: float
237
+ end: float
238
+ confidence: float
239
+ def __init__(self, word: _Optional[str] = ..., start: _Optional[float] = ..., end: _Optional[float] = ..., confidence: _Optional[float] = ...) -> None: ...
240
+
241
+ class SpeechToTextOptions(_message.Message):
242
+ __slots__ = ("language", "model", "continuous", "interim_results", "max_alternatives")
243
+ LANGUAGE_FIELD_NUMBER: _ClassVar[int]
244
+ MODEL_FIELD_NUMBER: _ClassVar[int]
245
+ CONTINUOUS_FIELD_NUMBER: _ClassVar[int]
246
+ INTERIM_RESULTS_FIELD_NUMBER: _ClassVar[int]
247
+ MAX_ALTERNATIVES_FIELD_NUMBER: _ClassVar[int]
248
+ language: str
249
+ model: str
250
+ continuous: bool
251
+ interim_results: bool
252
+ max_alternatives: int
253
+ def __init__(self, language: _Optional[str] = ..., model: _Optional[str] = ..., continuous: _Optional[bool] = ..., interim_results: _Optional[bool] = ..., max_alternatives: _Optional[int] = ...) -> None: ...
254
+
255
+ class TextToSpeechOptions(_message.Message):
256
+ __slots__ = ("voice", "model", "speed", "format", "response_format")
257
+ VOICE_FIELD_NUMBER: _ClassVar[int]
258
+ MODEL_FIELD_NUMBER: _ClassVar[int]
259
+ SPEED_FIELD_NUMBER: _ClassVar[int]
260
+ FORMAT_FIELD_NUMBER: _ClassVar[int]
261
+ RESPONSE_FORMAT_FIELD_NUMBER: _ClassVar[int]
262
+ voice: str
263
+ model: str
264
+ speed: float
265
+ format: str
266
+ response_format: str
267
+ def __init__(self, voice: _Optional[str] = ..., model: _Optional[str] = ..., speed: _Optional[float] = ..., format: _Optional[str] = ..., response_format: _Optional[str] = ...) -> None: ...
268
+
269
+ class VideoInfo(_message.Message):
270
+ __slots__ = ("title", "duration", "url", "thumbnail", "description", "uploader", "view_count", "upload_date", "formats")
271
+ TITLE_FIELD_NUMBER: _ClassVar[int]
272
+ DURATION_FIELD_NUMBER: _ClassVar[int]
273
+ URL_FIELD_NUMBER: _ClassVar[int]
274
+ THUMBNAIL_FIELD_NUMBER: _ClassVar[int]
275
+ DESCRIPTION_FIELD_NUMBER: _ClassVar[int]
276
+ UPLOADER_FIELD_NUMBER: _ClassVar[int]
277
+ VIEW_COUNT_FIELD_NUMBER: _ClassVar[int]
278
+ UPLOAD_DATE_FIELD_NUMBER: _ClassVar[int]
279
+ FORMATS_FIELD_NUMBER: _ClassVar[int]
280
+ title: str
281
+ duration: float
282
+ url: str
283
+ thumbnail: str
284
+ description: str
285
+ uploader: str
286
+ view_count: float
287
+ upload_date: _timestamp_pb2.Timestamp
288
+ formats: _containers.RepeatedCompositeFieldContainer[VideoFormat]
289
+ def __init__(self, title: _Optional[str] = ..., duration: _Optional[float] = ..., url: _Optional[str] = ..., thumbnail: _Optional[str] = ..., description: _Optional[str] = ..., uploader: _Optional[str] = ..., view_count: _Optional[float] = ..., upload_date: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ..., formats: _Optional[_Iterable[_Union[VideoFormat, _Mapping]]] = ...) -> None: ...
290
+
291
+ class VideoFormat(_message.Message):
292
+ __slots__ = ("format_id", "url", "extension", "quality", "file_size", "video_codec", "audio_codec", "resolution", "fps", "bitrate")
293
+ FORMAT_ID_FIELD_NUMBER: _ClassVar[int]
294
+ URL_FIELD_NUMBER: _ClassVar[int]
295
+ EXTENSION_FIELD_NUMBER: _ClassVar[int]
296
+ QUALITY_FIELD_NUMBER: _ClassVar[int]
297
+ FILE_SIZE_FIELD_NUMBER: _ClassVar[int]
298
+ VIDEO_CODEC_FIELD_NUMBER: _ClassVar[int]
299
+ AUDIO_CODEC_FIELD_NUMBER: _ClassVar[int]
300
+ RESOLUTION_FIELD_NUMBER: _ClassVar[int]
301
+ FPS_FIELD_NUMBER: _ClassVar[int]
302
+ BITRATE_FIELD_NUMBER: _ClassVar[int]
303
+ format_id: str
304
+ url: str
305
+ extension: str
306
+ quality: str
307
+ file_size: int
308
+ video_codec: str
309
+ audio_codec: str
310
+ resolution: str
311
+ fps: float
312
+ bitrate: float
313
+ def __init__(self, format_id: _Optional[str] = ..., url: _Optional[str] = ..., extension: _Optional[str] = ..., quality: _Optional[str] = ..., file_size: _Optional[int] = ..., video_codec: _Optional[str] = ..., audio_codec: _Optional[str] = ..., resolution: _Optional[str] = ..., fps: _Optional[float] = ..., bitrate: _Optional[float] = ...) -> None: ...
314
+
315
+ class VideoDownloadOptions(_message.Message):
316
+ __slots__ = ("format", "quality", "output_path", "audio_only", "video_only", "subtitles", "embed_subs", "write_info_json")
317
+ FORMAT_FIELD_NUMBER: _ClassVar[int]
318
+ QUALITY_FIELD_NUMBER: _ClassVar[int]
319
+ OUTPUT_PATH_FIELD_NUMBER: _ClassVar[int]
320
+ AUDIO_ONLY_FIELD_NUMBER: _ClassVar[int]
321
+ VIDEO_ONLY_FIELD_NUMBER: _ClassVar[int]
322
+ SUBTITLES_FIELD_NUMBER: _ClassVar[int]
323
+ EMBED_SUBS_FIELD_NUMBER: _ClassVar[int]
324
+ WRITE_INFO_JSON_FIELD_NUMBER: _ClassVar[int]
325
+ format: str
326
+ quality: str
327
+ output_path: str
328
+ audio_only: bool
329
+ video_only: bool
330
+ subtitles: bool
331
+ embed_subs: bool
332
+ write_info_json: bool
333
+ def __init__(self, format: _Optional[str] = ..., quality: _Optional[str] = ..., output_path: _Optional[str] = ..., audio_only: _Optional[bool] = ..., video_only: _Optional[bool] = ..., subtitles: _Optional[bool] = ..., embed_subs: _Optional[bool] = ..., write_info_json: _Optional[bool] = ...) -> None: ...
334
+
335
+ class VideoProcessingOptions(_message.Message):
336
+ __slots__ = ("start_time", "end_time", "output_format", "resolution", "bitrate", "framerate", "audio_codec", "video_codec")
337
+ START_TIME_FIELD_NUMBER: _ClassVar[int]
338
+ END_TIME_FIELD_NUMBER: _ClassVar[int]
339
+ OUTPUT_FORMAT_FIELD_NUMBER: _ClassVar[int]
340
+ RESOLUTION_FIELD_NUMBER: _ClassVar[int]
341
+ BITRATE_FIELD_NUMBER: _ClassVar[int]
342
+ FRAMERATE_FIELD_NUMBER: _ClassVar[int]
343
+ AUDIO_CODEC_FIELD_NUMBER: _ClassVar[int]
344
+ VIDEO_CODEC_FIELD_NUMBER: _ClassVar[int]
345
+ start_time: float
346
+ end_time: float
347
+ output_format: str
348
+ resolution: str
349
+ bitrate: str
350
+ framerate: float
351
+ audio_codec: str
352
+ video_codec: str
353
+ def __init__(self, start_time: _Optional[float] = ..., end_time: _Optional[float] = ..., output_format: _Optional[str] = ..., resolution: _Optional[str] = ..., bitrate: _Optional[str] = ..., framerate: _Optional[float] = ..., audio_codec: _Optional[str] = ..., video_codec: _Optional[str] = ...) -> None: ...
354
+
355
+ class BrowserViewport(_message.Message):
356
+ __slots__ = ("width", "height")
357
+ WIDTH_FIELD_NUMBER: _ClassVar[int]
358
+ HEIGHT_FIELD_NUMBER: _ClassVar[int]
359
+ width: int
360
+ height: int
361
+ def __init__(self, width: _Optional[int] = ..., height: _Optional[int] = ...) -> None: ...
362
+
363
+ class BrowserNavigationOptions(_message.Message):
364
+ __slots__ = ("timeout", "wait_until", "viewport", "user_agent", "headers")
365
+ class HeadersEntry(_message.Message):
366
+ __slots__ = ("key", "value")
367
+ KEY_FIELD_NUMBER: _ClassVar[int]
368
+ VALUE_FIELD_NUMBER: _ClassVar[int]
369
+ key: str
370
+ value: str
371
+ def __init__(self, key: _Optional[str] = ..., value: _Optional[str] = ...) -> None: ...
372
+ TIMEOUT_FIELD_NUMBER: _ClassVar[int]
373
+ WAIT_UNTIL_FIELD_NUMBER: _ClassVar[int]
374
+ VIEWPORT_FIELD_NUMBER: _ClassVar[int]
375
+ USER_AGENT_FIELD_NUMBER: _ClassVar[int]
376
+ HEADERS_FIELD_NUMBER: _ClassVar[int]
377
+ timeout: int
378
+ wait_until: str
379
+ viewport: BrowserViewport
380
+ user_agent: str
381
+ headers: _containers.ScalarMap[str, str]
382
+ def __init__(self, timeout: _Optional[int] = ..., wait_until: _Optional[str] = ..., viewport: _Optional[_Union[BrowserViewport, _Mapping]] = ..., user_agent: _Optional[str] = ..., headers: _Optional[_Mapping[str, str]] = ...) -> None: ...
383
+
384
+ class ScreenshotClip(_message.Message):
385
+ __slots__ = ("x", "y", "width", "height")
386
+ X_FIELD_NUMBER: _ClassVar[int]
387
+ Y_FIELD_NUMBER: _ClassVar[int]
388
+ WIDTH_FIELD_NUMBER: _ClassVar[int]
389
+ HEIGHT_FIELD_NUMBER: _ClassVar[int]
390
+ x: int
391
+ y: int
392
+ width: int
393
+ height: int
394
+ def __init__(self, x: _Optional[int] = ..., y: _Optional[int] = ..., width: _Optional[int] = ..., height: _Optional[int] = ...) -> None: ...
395
+
396
+ class ScreenshotOptions(_message.Message):
397
+ __slots__ = ("full_page", "clip", "format", "quality", "omit_background")
398
+ FULL_PAGE_FIELD_NUMBER: _ClassVar[int]
399
+ CLIP_FIELD_NUMBER: _ClassVar[int]
400
+ FORMAT_FIELD_NUMBER: _ClassVar[int]
401
+ QUALITY_FIELD_NUMBER: _ClassVar[int]
402
+ OMIT_BACKGROUND_FIELD_NUMBER: _ClassVar[int]
403
+ full_page: bool
404
+ clip: ScreenshotClip
405
+ format: str
406
+ quality: int
407
+ omit_background: bool
408
+ def __init__(self, full_page: _Optional[bool] = ..., clip: _Optional[_Union[ScreenshotClip, _Mapping]] = ..., format: _Optional[str] = ..., quality: _Optional[int] = ..., omit_background: _Optional[bool] = ...) -> None: ...
409
+
410
+ class ElementSelector(_message.Message):
411
+ __slots__ = ("selector", "text", "timeout")
412
+ SELECTOR_FIELD_NUMBER: _ClassVar[int]
413
+ TEXT_FIELD_NUMBER: _ClassVar[int]
414
+ TIMEOUT_FIELD_NUMBER: _ClassVar[int]
415
+ selector: str
416
+ text: str
417
+ timeout: int
418
+ def __init__(self, selector: _Optional[str] = ..., text: _Optional[str] = ..., timeout: _Optional[int] = ...) -> None: ...
419
+
420
+ class LinkInfo(_message.Message):
421
+ __slots__ = ("url", "text")
422
+ URL_FIELD_NUMBER: _ClassVar[int]
423
+ TEXT_FIELD_NUMBER: _ClassVar[int]
424
+ url: str
425
+ text: str
426
+ def __init__(self, url: _Optional[str] = ..., text: _Optional[str] = ...) -> None: ...
427
+
428
+ class ImageInfo(_message.Message):
429
+ __slots__ = ("src", "alt")
430
+ SRC_FIELD_NUMBER: _ClassVar[int]
431
+ ALT_FIELD_NUMBER: _ClassVar[int]
432
+ src: str
433
+ alt: str
434
+ def __init__(self, src: _Optional[str] = ..., alt: _Optional[str] = ...) -> None: ...
435
+
436
+ class ExtractedContent(_message.Message):
437
+ __slots__ = ("text", "html", "links", "images", "title", "metadata")
438
+ class MetadataEntry(_message.Message):
439
+ __slots__ = ("key", "value")
440
+ KEY_FIELD_NUMBER: _ClassVar[int]
441
+ VALUE_FIELD_NUMBER: _ClassVar[int]
442
+ key: str
443
+ value: str
444
+ def __init__(self, key: _Optional[str] = ..., value: _Optional[str] = ...) -> None: ...
445
+ TEXT_FIELD_NUMBER: _ClassVar[int]
446
+ HTML_FIELD_NUMBER: _ClassVar[int]
447
+ LINKS_FIELD_NUMBER: _ClassVar[int]
448
+ IMAGES_FIELD_NUMBER: _ClassVar[int]
449
+ TITLE_FIELD_NUMBER: _ClassVar[int]
450
+ METADATA_FIELD_NUMBER: _ClassVar[int]
451
+ text: str
452
+ html: str
453
+ links: _containers.RepeatedCompositeFieldContainer[LinkInfo]
454
+ images: _containers.RepeatedCompositeFieldContainer[ImageInfo]
455
+ title: str
456
+ metadata: _containers.ScalarMap[str, str]
457
+ def __init__(self, text: _Optional[str] = ..., html: _Optional[str] = ..., links: _Optional[_Iterable[_Union[LinkInfo, _Mapping]]] = ..., images: _Optional[_Iterable[_Union[ImageInfo, _Mapping]]] = ..., title: _Optional[str] = ..., metadata: _Optional[_Mapping[str, str]] = ...) -> None: ...
458
+
459
+ class ClickOptions(_message.Message):
460
+ __slots__ = ("timeout", "force", "wait_for_navigation")
461
+ TIMEOUT_FIELD_NUMBER: _ClassVar[int]
462
+ FORCE_FIELD_NUMBER: _ClassVar[int]
463
+ WAIT_FOR_NAVIGATION_FIELD_NUMBER: _ClassVar[int]
464
+ timeout: int
465
+ force: bool
466
+ wait_for_navigation: bool
467
+ def __init__(self, timeout: _Optional[int] = ..., force: _Optional[bool] = ..., wait_for_navigation: _Optional[bool] = ...) -> None: ...
468
+
469
+ class TypeOptions(_message.Message):
470
+ __slots__ = ("delay", "timeout", "clear")
471
+ DELAY_FIELD_NUMBER: _ClassVar[int]
472
+ TIMEOUT_FIELD_NUMBER: _ClassVar[int]
473
+ CLEAR_FIELD_NUMBER: _ClassVar[int]
474
+ delay: int
475
+ timeout: int
476
+ clear: bool
477
+ def __init__(self, delay: _Optional[int] = ..., timeout: _Optional[int] = ..., clear: _Optional[bool] = ...) -> None: ...
478
+
479
+ class PdfMetadata(_message.Message):
480
+ __slots__ = ("title", "author", "created_at", "modified_at")
481
+ TITLE_FIELD_NUMBER: _ClassVar[int]
482
+ AUTHOR_FIELD_NUMBER: _ClassVar[int]
483
+ CREATED_AT_FIELD_NUMBER: _ClassVar[int]
484
+ MODIFIED_AT_FIELD_NUMBER: _ClassVar[int]
485
+ title: str
486
+ author: str
487
+ created_at: _timestamp_pb2.Timestamp
488
+ modified_at: _timestamp_pb2.Timestamp
489
+ def __init__(self, title: _Optional[str] = ..., author: _Optional[str] = ..., created_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ..., modified_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ...) -> None: ...
490
+
491
+ class PdfExtractionResult(_message.Message):
492
+ __slots__ = ("text", "page_count", "metadata")
493
+ TEXT_FIELD_NUMBER: _ClassVar[int]
494
+ PAGE_COUNT_FIELD_NUMBER: _ClassVar[int]
495
+ METADATA_FIELD_NUMBER: _ClassVar[int]
496
+ text: str
497
+ page_count: int
498
+ metadata: PdfMetadata
499
+ def __init__(self, text: _Optional[str] = ..., page_count: _Optional[int] = ..., metadata: _Optional[_Union[PdfMetadata, _Mapping]] = ...) -> None: ...
500
+
501
+ class PdfMargins(_message.Message):
502
+ __slots__ = ("top", "bottom", "left", "right")
503
+ TOP_FIELD_NUMBER: _ClassVar[int]
504
+ BOTTOM_FIELD_NUMBER: _ClassVar[int]
505
+ LEFT_FIELD_NUMBER: _ClassVar[int]
506
+ RIGHT_FIELD_NUMBER: _ClassVar[int]
507
+ top: float
508
+ bottom: float
509
+ left: float
510
+ right: float
511
+ def __init__(self, top: _Optional[float] = ..., bottom: _Optional[float] = ..., left: _Optional[float] = ..., right: _Optional[float] = ...) -> None: ...
512
+
513
+ class PdfGenerationOptions(_message.Message):
514
+ __slots__ = ("format", "orientation", "margins", "header", "footer")
515
+ FORMAT_FIELD_NUMBER: _ClassVar[int]
516
+ ORIENTATION_FIELD_NUMBER: _ClassVar[int]
517
+ MARGINS_FIELD_NUMBER: _ClassVar[int]
518
+ HEADER_FIELD_NUMBER: _ClassVar[int]
519
+ FOOTER_FIELD_NUMBER: _ClassVar[int]
520
+ format: str
521
+ orientation: str
522
+ margins: PdfMargins
523
+ header: str
524
+ footer: str
525
+ def __init__(self, format: _Optional[str] = ..., orientation: _Optional[str] = ..., margins: _Optional[_Union[PdfMargins, _Mapping]] = ..., header: _Optional[str] = ..., footer: _Optional[str] = ...) -> None: ...
526
+
527
+ class PdfConversionOptions(_message.Message):
528
+ __slots__ = ("quality", "output_format", "compression")
529
+ QUALITY_FIELD_NUMBER: _ClassVar[int]
530
+ OUTPUT_FORMAT_FIELD_NUMBER: _ClassVar[int]
531
+ COMPRESSION_FIELD_NUMBER: _ClassVar[int]
532
+ quality: str
533
+ output_format: str
534
+ compression: bool
535
+ def __init__(self, quality: _Optional[str] = ..., output_format: _Optional[str] = ..., compression: _Optional[bool] = ...) -> None: ...
536
+
537
+ class DateRange(_message.Message):
538
+ __slots__ = ("start", "end")
539
+ START_FIELD_NUMBER: _ClassVar[int]
540
+ END_FIELD_NUMBER: _ClassVar[int]
541
+ start: _timestamp_pb2.Timestamp
542
+ end: _timestamp_pb2.Timestamp
543
+ def __init__(self, start: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ..., end: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ...) -> None: ...
544
+
545
+ class SearchOptions(_message.Message):
546
+ __slots__ = ("limit", "offset", "language", "region", "date_range", "file_type", "site", "sort_by", "safe_search")
547
+ LIMIT_FIELD_NUMBER: _ClassVar[int]
548
+ OFFSET_FIELD_NUMBER: _ClassVar[int]
549
+ LANGUAGE_FIELD_NUMBER: _ClassVar[int]
550
+ REGION_FIELD_NUMBER: _ClassVar[int]
551
+ DATE_RANGE_FIELD_NUMBER: _ClassVar[int]
552
+ FILE_TYPE_FIELD_NUMBER: _ClassVar[int]
553
+ SITE_FIELD_NUMBER: _ClassVar[int]
554
+ SORT_BY_FIELD_NUMBER: _ClassVar[int]
555
+ SAFE_SEARCH_FIELD_NUMBER: _ClassVar[int]
556
+ limit: int
557
+ offset: int
558
+ language: str
559
+ region: str
560
+ date_range: DateRange
561
+ file_type: str
562
+ site: str
563
+ sort_by: str
564
+ safe_search: str
565
+ def __init__(self, limit: _Optional[int] = ..., offset: _Optional[int] = ..., language: _Optional[str] = ..., region: _Optional[str] = ..., date_range: _Optional[_Union[DateRange, _Mapping]] = ..., file_type: _Optional[str] = ..., site: _Optional[str] = ..., sort_by: _Optional[str] = ..., safe_search: _Optional[str] = ...) -> None: ...
566
+
567
+ class SearchResult(_message.Message):
568
+ __slots__ = ("title", "url", "description", "display_url", "thumbnail", "published_date", "source", "relevance_score", "snippet")
569
+ TITLE_FIELD_NUMBER: _ClassVar[int]
570
+ URL_FIELD_NUMBER: _ClassVar[int]
571
+ DESCRIPTION_FIELD_NUMBER: _ClassVar[int]
572
+ DISPLAY_URL_FIELD_NUMBER: _ClassVar[int]
573
+ THUMBNAIL_FIELD_NUMBER: _ClassVar[int]
574
+ PUBLISHED_DATE_FIELD_NUMBER: _ClassVar[int]
575
+ SOURCE_FIELD_NUMBER: _ClassVar[int]
576
+ RELEVANCE_SCORE_FIELD_NUMBER: _ClassVar[int]
577
+ SNIPPET_FIELD_NUMBER: _ClassVar[int]
578
+ title: str
579
+ url: str
580
+ description: str
581
+ display_url: str
582
+ thumbnail: str
583
+ published_date: _timestamp_pb2.Timestamp
584
+ source: str
585
+ relevance_score: float
586
+ snippet: str
587
+ def __init__(self, title: _Optional[str] = ..., url: _Optional[str] = ..., description: _Optional[str] = ..., display_url: _Optional[str] = ..., thumbnail: _Optional[str] = ..., published_date: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ..., source: _Optional[str] = ..., relevance_score: _Optional[float] = ..., snippet: _Optional[str] = ...) -> None: ...
588
+
589
+ class SearchResponse(_message.Message):
590
+ __slots__ = ("query", "results", "total_results", "search_time", "suggestions", "next_page_token", "related_searches")
591
+ QUERY_FIELD_NUMBER: _ClassVar[int]
592
+ RESULTS_FIELD_NUMBER: _ClassVar[int]
593
+ TOTAL_RESULTS_FIELD_NUMBER: _ClassVar[int]
594
+ SEARCH_TIME_FIELD_NUMBER: _ClassVar[int]
595
+ SUGGESTIONS_FIELD_NUMBER: _ClassVar[int]
596
+ NEXT_PAGE_TOKEN_FIELD_NUMBER: _ClassVar[int]
597
+ RELATED_SEARCHES_FIELD_NUMBER: _ClassVar[int]
598
+ query: str
599
+ results: _containers.RepeatedCompositeFieldContainer[SearchResult]
600
+ total_results: int
601
+ search_time: float
602
+ suggestions: _containers.RepeatedScalarFieldContainer[str]
603
+ next_page_token: str
604
+ related_searches: _containers.RepeatedScalarFieldContainer[str]
605
+ def __init__(self, query: _Optional[str] = ..., results: _Optional[_Iterable[_Union[SearchResult, _Mapping]]] = ..., total_results: _Optional[int] = ..., search_time: _Optional[float] = ..., suggestions: _Optional[_Iterable[str]] = ..., next_page_token: _Optional[str] = ..., related_searches: _Optional[_Iterable[str]] = ...) -> None: ...
606
+
607
+ class NewsSearchOptions(_message.Message):
608
+ __slots__ = ("base", "category", "freshness")
609
+ BASE_FIELD_NUMBER: _ClassVar[int]
610
+ CATEGORY_FIELD_NUMBER: _ClassVar[int]
611
+ FRESHNESS_FIELD_NUMBER: _ClassVar[int]
612
+ base: SearchOptions
613
+ category: str
614
+ freshness: str
615
+ def __init__(self, base: _Optional[_Union[SearchOptions, _Mapping]] = ..., category: _Optional[str] = ..., freshness: _Optional[str] = ...) -> None: ...
616
+
617
+ class ImageSearchOptions(_message.Message):
618
+ __slots__ = ("base", "size", "color", "type", "layout", "license")
619
+ BASE_FIELD_NUMBER: _ClassVar[int]
620
+ SIZE_FIELD_NUMBER: _ClassVar[int]
621
+ COLOR_FIELD_NUMBER: _ClassVar[int]
622
+ TYPE_FIELD_NUMBER: _ClassVar[int]
623
+ LAYOUT_FIELD_NUMBER: _ClassVar[int]
624
+ LICENSE_FIELD_NUMBER: _ClassVar[int]
625
+ base: SearchOptions
626
+ size: str
627
+ color: str
628
+ type: str
629
+ layout: str
630
+ license: str
631
+ def __init__(self, base: _Optional[_Union[SearchOptions, _Mapping]] = ..., size: _Optional[str] = ..., color: _Optional[str] = ..., type: _Optional[str] = ..., layout: _Optional[str] = ..., license: _Optional[str] = ...) -> None: ...
632
+
633
+ class VideoSearchOptions(_message.Message):
634
+ __slots__ = ("base", "duration", "resolution", "quality")
635
+ BASE_FIELD_NUMBER: _ClassVar[int]
636
+ DURATION_FIELD_NUMBER: _ClassVar[int]
637
+ RESOLUTION_FIELD_NUMBER: _ClassVar[int]
638
+ QUALITY_FIELD_NUMBER: _ClassVar[int]
639
+ base: SearchOptions
640
+ duration: str
641
+ resolution: str
642
+ quality: str
643
+ def __init__(self, base: _Optional[_Union[SearchOptions, _Mapping]] = ..., duration: _Optional[str] = ..., resolution: _Optional[str] = ..., quality: _Optional[str] = ...) -> None: ...
644
+
645
+ class EmailAddress(_message.Message):
646
+ __slots__ = ("email", "name")
647
+ EMAIL_FIELD_NUMBER: _ClassVar[int]
648
+ NAME_FIELD_NUMBER: _ClassVar[int]
649
+ email: str
650
+ name: str
651
+ def __init__(self, email: _Optional[str] = ..., name: _Optional[str] = ...) -> None: ...
652
+
653
+ class EmailAttachment(_message.Message):
654
+ __slots__ = ("filename", "content_bytes", "content_text", "content_type", "content_disposition", "cid")
655
+ FILENAME_FIELD_NUMBER: _ClassVar[int]
656
+ CONTENT_BYTES_FIELD_NUMBER: _ClassVar[int]
657
+ CONTENT_TEXT_FIELD_NUMBER: _ClassVar[int]
658
+ CONTENT_TYPE_FIELD_NUMBER: _ClassVar[int]
659
+ CONTENT_DISPOSITION_FIELD_NUMBER: _ClassVar[int]
660
+ CID_FIELD_NUMBER: _ClassVar[int]
661
+ filename: str
662
+ content_bytes: bytes
663
+ content_text: str
664
+ content_type: str
665
+ content_disposition: str
666
+ cid: str
667
+ def __init__(self, filename: _Optional[str] = ..., content_bytes: _Optional[bytes] = ..., content_text: _Optional[str] = ..., content_type: _Optional[str] = ..., content_disposition: _Optional[str] = ..., cid: _Optional[str] = ...) -> None: ...
668
+
669
+ class EmailMessage(_message.Message):
670
+ __slots__ = ("to", "cc", "bcc", "subject", "text", "html", "attachments", "reply_to", "date", "message_id", "references", "in_reply_to", "priority")
671
+ FROM_FIELD_NUMBER: _ClassVar[int]
672
+ TO_FIELD_NUMBER: _ClassVar[int]
673
+ CC_FIELD_NUMBER: _ClassVar[int]
674
+ BCC_FIELD_NUMBER: _ClassVar[int]
675
+ SUBJECT_FIELD_NUMBER: _ClassVar[int]
676
+ TEXT_FIELD_NUMBER: _ClassVar[int]
677
+ HTML_FIELD_NUMBER: _ClassVar[int]
678
+ ATTACHMENTS_FIELD_NUMBER: _ClassVar[int]
679
+ REPLY_TO_FIELD_NUMBER: _ClassVar[int]
680
+ DATE_FIELD_NUMBER: _ClassVar[int]
681
+ MESSAGE_ID_FIELD_NUMBER: _ClassVar[int]
682
+ REFERENCES_FIELD_NUMBER: _ClassVar[int]
683
+ IN_REPLY_TO_FIELD_NUMBER: _ClassVar[int]
684
+ PRIORITY_FIELD_NUMBER: _ClassVar[int]
685
+ to: _containers.RepeatedCompositeFieldContainer[EmailAddress]
686
+ cc: _containers.RepeatedCompositeFieldContainer[EmailAddress]
687
+ bcc: _containers.RepeatedCompositeFieldContainer[EmailAddress]
688
+ subject: str
689
+ text: str
690
+ html: str
691
+ attachments: _containers.RepeatedCompositeFieldContainer[EmailAttachment]
692
+ reply_to: EmailAddress
693
+ date: _timestamp_pb2.Timestamp
694
+ message_id: str
695
+ references: _containers.RepeatedScalarFieldContainer[str]
696
+ in_reply_to: str
697
+ priority: str
698
+ def __init__(self, to: _Optional[_Iterable[_Union[EmailAddress, _Mapping]]] = ..., cc: _Optional[_Iterable[_Union[EmailAddress, _Mapping]]] = ..., bcc: _Optional[_Iterable[_Union[EmailAddress, _Mapping]]] = ..., subject: _Optional[str] = ..., text: _Optional[str] = ..., html: _Optional[str] = ..., attachments: _Optional[_Iterable[_Union[EmailAttachment, _Mapping]]] = ..., reply_to: _Optional[_Union[EmailAddress, _Mapping]] = ..., date: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ..., message_id: _Optional[str] = ..., references: _Optional[_Iterable[str]] = ..., in_reply_to: _Optional[str] = ..., priority: _Optional[str] = ..., **kwargs) -> None: ...
699
+
700
+ class EmailSendOptions(_message.Message):
701
+ __slots__ = ("retry", "timeout", "track_opens", "track_clicks", "tags")
702
+ RETRY_FIELD_NUMBER: _ClassVar[int]
703
+ TIMEOUT_FIELD_NUMBER: _ClassVar[int]
704
+ TRACK_OPENS_FIELD_NUMBER: _ClassVar[int]
705
+ TRACK_CLICKS_FIELD_NUMBER: _ClassVar[int]
706
+ TAGS_FIELD_NUMBER: _ClassVar[int]
707
+ retry: int
708
+ timeout: int
709
+ track_opens: bool
710
+ track_clicks: bool
711
+ tags: _containers.RepeatedScalarFieldContainer[str]
712
+ def __init__(self, retry: _Optional[int] = ..., timeout: _Optional[int] = ..., track_opens: _Optional[bool] = ..., track_clicks: _Optional[bool] = ..., tags: _Optional[_Iterable[str]] = ...) -> None: ...
713
+
714
+ class EmailSearchOptions(_message.Message):
715
+ __slots__ = ("query", "to", "subject", "folder", "since", "before", "limit", "offset", "unread", "flagged", "has_attachments")
716
+ QUERY_FIELD_NUMBER: _ClassVar[int]
717
+ FROM_FIELD_NUMBER: _ClassVar[int]
718
+ TO_FIELD_NUMBER: _ClassVar[int]
719
+ SUBJECT_FIELD_NUMBER: _ClassVar[int]
720
+ FOLDER_FIELD_NUMBER: _ClassVar[int]
721
+ SINCE_FIELD_NUMBER: _ClassVar[int]
722
+ BEFORE_FIELD_NUMBER: _ClassVar[int]
723
+ LIMIT_FIELD_NUMBER: _ClassVar[int]
724
+ OFFSET_FIELD_NUMBER: _ClassVar[int]
725
+ UNREAD_FIELD_NUMBER: _ClassVar[int]
726
+ FLAGGED_FIELD_NUMBER: _ClassVar[int]
727
+ HAS_ATTACHMENTS_FIELD_NUMBER: _ClassVar[int]
728
+ query: str
729
+ to: str
730
+ subject: str
731
+ folder: str
732
+ since: _timestamp_pb2.Timestamp
733
+ before: _timestamp_pb2.Timestamp
734
+ limit: int
735
+ offset: int
736
+ unread: bool
737
+ flagged: bool
738
+ has_attachments: bool
739
+ def __init__(self, query: _Optional[str] = ..., to: _Optional[str] = ..., subject: _Optional[str] = ..., folder: _Optional[str] = ..., since: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ..., before: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ..., limit: _Optional[int] = ..., offset: _Optional[int] = ..., unread: _Optional[bool] = ..., flagged: _Optional[bool] = ..., has_attachments: _Optional[bool] = ..., **kwargs) -> None: ...
740
+
741
+ class EmailFolder(_message.Message):
742
+ __slots__ = ("name", "path", "type", "message_count", "unread_count", "children")
743
+ NAME_FIELD_NUMBER: _ClassVar[int]
744
+ PATH_FIELD_NUMBER: _ClassVar[int]
745
+ TYPE_FIELD_NUMBER: _ClassVar[int]
746
+ MESSAGE_COUNT_FIELD_NUMBER: _ClassVar[int]
747
+ UNREAD_COUNT_FIELD_NUMBER: _ClassVar[int]
748
+ CHILDREN_FIELD_NUMBER: _ClassVar[int]
749
+ name: str
750
+ path: str
751
+ type: str
752
+ message_count: int
753
+ unread_count: int
754
+ children: _containers.RepeatedCompositeFieldContainer[EmailFolder]
755
+ def __init__(self, name: _Optional[str] = ..., path: _Optional[str] = ..., type: _Optional[str] = ..., message_count: _Optional[int] = ..., unread_count: _Optional[int] = ..., children: _Optional[_Iterable[_Union[EmailFolder, _Mapping]]] = ...) -> None: ...
756
+
757
+ class EmailAccount(_message.Message):
758
+ __slots__ = ("email", "name", "provider", "folders", "quota_used", "quota_limit")
759
+ EMAIL_FIELD_NUMBER: _ClassVar[int]
760
+ NAME_FIELD_NUMBER: _ClassVar[int]
761
+ PROVIDER_FIELD_NUMBER: _ClassVar[int]
762
+ FOLDERS_FIELD_NUMBER: _ClassVar[int]
763
+ QUOTA_USED_FIELD_NUMBER: _ClassVar[int]
764
+ QUOTA_LIMIT_FIELD_NUMBER: _ClassVar[int]
765
+ email: str
766
+ name: str
767
+ provider: str
768
+ folders: _containers.RepeatedCompositeFieldContainer[EmailFolder]
769
+ quota_used: int
770
+ quota_limit: int
771
+ def __init__(self, email: _Optional[str] = ..., name: _Optional[str] = ..., provider: _Optional[str] = ..., folders: _Optional[_Iterable[_Union[EmailFolder, _Mapping]]] = ..., quota_used: _Optional[int] = ..., quota_limit: _Optional[int] = ...) -> None: ...
772
+
773
+ class MessageParticipant(_message.Message):
774
+ __slots__ = ("id", "name", "username", "avatar", "status")
775
+ ID_FIELD_NUMBER: _ClassVar[int]
776
+ NAME_FIELD_NUMBER: _ClassVar[int]
777
+ USERNAME_FIELD_NUMBER: _ClassVar[int]
778
+ AVATAR_FIELD_NUMBER: _ClassVar[int]
779
+ STATUS_FIELD_NUMBER: _ClassVar[int]
780
+ id: str
781
+ name: str
782
+ username: str
783
+ avatar: str
784
+ status: str
785
+ def __init__(self, id: _Optional[str] = ..., name: _Optional[str] = ..., username: _Optional[str] = ..., avatar: _Optional[str] = ..., status: _Optional[str] = ...) -> None: ...
786
+
787
+ class MessageAttachment(_message.Message):
788
+ __slots__ = ("id", "filename", "url", "mime_type", "size", "width", "height", "duration", "thumbnail")
789
+ ID_FIELD_NUMBER: _ClassVar[int]
790
+ FILENAME_FIELD_NUMBER: _ClassVar[int]
791
+ URL_FIELD_NUMBER: _ClassVar[int]
792
+ MIME_TYPE_FIELD_NUMBER: _ClassVar[int]
793
+ SIZE_FIELD_NUMBER: _ClassVar[int]
794
+ WIDTH_FIELD_NUMBER: _ClassVar[int]
795
+ HEIGHT_FIELD_NUMBER: _ClassVar[int]
796
+ DURATION_FIELD_NUMBER: _ClassVar[int]
797
+ THUMBNAIL_FIELD_NUMBER: _ClassVar[int]
798
+ id: str
799
+ filename: str
800
+ url: str
801
+ mime_type: str
802
+ size: int
803
+ width: int
804
+ height: int
805
+ duration: float
806
+ thumbnail: str
807
+ def __init__(self, id: _Optional[str] = ..., filename: _Optional[str] = ..., url: _Optional[str] = ..., mime_type: _Optional[str] = ..., size: _Optional[int] = ..., width: _Optional[int] = ..., height: _Optional[int] = ..., duration: _Optional[float] = ..., thumbnail: _Optional[str] = ...) -> None: ...
808
+
809
+ class MessageReaction(_message.Message):
810
+ __slots__ = ("emoji", "count", "users", "has_reacted")
811
+ EMOJI_FIELD_NUMBER: _ClassVar[int]
812
+ COUNT_FIELD_NUMBER: _ClassVar[int]
813
+ USERS_FIELD_NUMBER: _ClassVar[int]
814
+ HAS_REACTED_FIELD_NUMBER: _ClassVar[int]
815
+ emoji: str
816
+ count: int
817
+ users: _containers.RepeatedScalarFieldContainer[str]
818
+ has_reacted: bool
819
+ def __init__(self, emoji: _Optional[str] = ..., count: _Optional[int] = ..., users: _Optional[_Iterable[str]] = ..., has_reacted: _Optional[bool] = ...) -> None: ...
820
+
821
+ class MessageReference(_message.Message):
822
+ __slots__ = ("message_id", "channel_id", "type")
823
+ MESSAGE_ID_FIELD_NUMBER: _ClassVar[int]
824
+ CHANNEL_ID_FIELD_NUMBER: _ClassVar[int]
825
+ TYPE_FIELD_NUMBER: _ClassVar[int]
826
+ message_id: str
827
+ channel_id: str
828
+ type: str
829
+ def __init__(self, message_id: _Optional[str] = ..., channel_id: _Optional[str] = ..., type: _Optional[str] = ...) -> None: ...
830
+
831
+ class EmbedField(_message.Message):
832
+ __slots__ = ("name", "value", "inline")
833
+ NAME_FIELD_NUMBER: _ClassVar[int]
834
+ VALUE_FIELD_NUMBER: _ClassVar[int]
835
+ INLINE_FIELD_NUMBER: _ClassVar[int]
836
+ name: str
837
+ value: str
838
+ inline: bool
839
+ def __init__(self, name: _Optional[str] = ..., value: _Optional[str] = ..., inline: _Optional[bool] = ...) -> None: ...
840
+
841
+ class MessageEmbed(_message.Message):
842
+ __slots__ = ("title", "description", "url", "image", "fields")
843
+ TITLE_FIELD_NUMBER: _ClassVar[int]
844
+ DESCRIPTION_FIELD_NUMBER: _ClassVar[int]
845
+ URL_FIELD_NUMBER: _ClassVar[int]
846
+ IMAGE_FIELD_NUMBER: _ClassVar[int]
847
+ FIELDS_FIELD_NUMBER: _ClassVar[int]
848
+ title: str
849
+ description: str
850
+ url: str
851
+ image: str
852
+ fields: _containers.RepeatedCompositeFieldContainer[EmbedField]
853
+ def __init__(self, title: _Optional[str] = ..., description: _Optional[str] = ..., url: _Optional[str] = ..., image: _Optional[str] = ..., fields: _Optional[_Iterable[_Union[EmbedField, _Mapping]]] = ...) -> None: ...
854
+
855
+ class MessageContent(_message.Message):
856
+ __slots__ = ("text", "html", "markdown", "attachments", "reactions", "reference", "mentions", "embeds")
857
+ TEXT_FIELD_NUMBER: _ClassVar[int]
858
+ HTML_FIELD_NUMBER: _ClassVar[int]
859
+ MARKDOWN_FIELD_NUMBER: _ClassVar[int]
860
+ ATTACHMENTS_FIELD_NUMBER: _ClassVar[int]
861
+ REACTIONS_FIELD_NUMBER: _ClassVar[int]
862
+ REFERENCE_FIELD_NUMBER: _ClassVar[int]
863
+ MENTIONS_FIELD_NUMBER: _ClassVar[int]
864
+ EMBEDS_FIELD_NUMBER: _ClassVar[int]
865
+ text: str
866
+ html: str
867
+ markdown: str
868
+ attachments: _containers.RepeatedCompositeFieldContainer[MessageAttachment]
869
+ reactions: _containers.RepeatedCompositeFieldContainer[MessageReaction]
870
+ reference: MessageReference
871
+ mentions: _containers.RepeatedScalarFieldContainer[str]
872
+ embeds: _containers.RepeatedCompositeFieldContainer[MessageEmbed]
873
+ def __init__(self, text: _Optional[str] = ..., html: _Optional[str] = ..., markdown: _Optional[str] = ..., attachments: _Optional[_Iterable[_Union[MessageAttachment, _Mapping]]] = ..., reactions: _Optional[_Iterable[_Union[MessageReaction, _Mapping]]] = ..., reference: _Optional[_Union[MessageReference, _Mapping]] = ..., mentions: _Optional[_Iterable[str]] = ..., embeds: _Optional[_Iterable[_Union[MessageEmbed, _Mapping]]] = ...) -> None: ...
874
+
875
+ class MessageThreadInfo(_message.Message):
876
+ __slots__ = ("id", "message_count", "participants", "last_message_at")
877
+ ID_FIELD_NUMBER: _ClassVar[int]
878
+ MESSAGE_COUNT_FIELD_NUMBER: _ClassVar[int]
879
+ PARTICIPANTS_FIELD_NUMBER: _ClassVar[int]
880
+ LAST_MESSAGE_AT_FIELD_NUMBER: _ClassVar[int]
881
+ id: str
882
+ message_count: int
883
+ participants: _containers.RepeatedScalarFieldContainer[str]
884
+ last_message_at: _timestamp_pb2.Timestamp
885
+ def __init__(self, id: _Optional[str] = ..., message_count: _Optional[int] = ..., participants: _Optional[_Iterable[str]] = ..., last_message_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ...) -> None: ...
886
+
887
+ class MessageInfo(_message.Message):
888
+ __slots__ = ("id", "channel_id", "sender_id", "content", "timestamp", "edited", "deleted", "pinned", "thread")
889
+ ID_FIELD_NUMBER: _ClassVar[int]
890
+ CHANNEL_ID_FIELD_NUMBER: _ClassVar[int]
891
+ SENDER_ID_FIELD_NUMBER: _ClassVar[int]
892
+ CONTENT_FIELD_NUMBER: _ClassVar[int]
893
+ TIMESTAMP_FIELD_NUMBER: _ClassVar[int]
894
+ EDITED_FIELD_NUMBER: _ClassVar[int]
895
+ DELETED_FIELD_NUMBER: _ClassVar[int]
896
+ PINNED_FIELD_NUMBER: _ClassVar[int]
897
+ THREAD_FIELD_NUMBER: _ClassVar[int]
898
+ id: str
899
+ channel_id: str
900
+ sender_id: str
901
+ content: MessageContent
902
+ timestamp: _timestamp_pb2.Timestamp
903
+ edited: _timestamp_pb2.Timestamp
904
+ deleted: _timestamp_pb2.Timestamp
905
+ pinned: bool
906
+ thread: MessageThreadInfo
907
+ def __init__(self, id: _Optional[str] = ..., channel_id: _Optional[str] = ..., sender_id: _Optional[str] = ..., content: _Optional[_Union[MessageContent, _Mapping]] = ..., timestamp: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ..., edited: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ..., deleted: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ..., pinned: _Optional[bool] = ..., thread: _Optional[_Union[MessageThreadInfo, _Mapping]] = ...) -> None: ...
908
+
909
+ class MessageSendOptions(_message.Message):
910
+ __slots__ = ("reply_to", "ephemeral", "silent", "scheduled", "thread", "nonce")
911
+ REPLY_TO_FIELD_NUMBER: _ClassVar[int]
912
+ EPHEMERAL_FIELD_NUMBER: _ClassVar[int]
913
+ SILENT_FIELD_NUMBER: _ClassVar[int]
914
+ SCHEDULED_FIELD_NUMBER: _ClassVar[int]
915
+ THREAD_FIELD_NUMBER: _ClassVar[int]
916
+ NONCE_FIELD_NUMBER: _ClassVar[int]
917
+ reply_to: str
918
+ ephemeral: bool
919
+ silent: bool
920
+ scheduled: _timestamp_pb2.Timestamp
921
+ thread: str
922
+ nonce: str
923
+ def __init__(self, reply_to: _Optional[str] = ..., ephemeral: _Optional[bool] = ..., silent: _Optional[bool] = ..., scheduled: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ..., thread: _Optional[str] = ..., nonce: _Optional[str] = ...) -> None: ...
924
+
925
+ class MessageSearchOptions(_message.Message):
926
+ __slots__ = ("query", "channel_id", "sender_id", "before", "after", "limit", "offset", "has_attachments", "pinned", "mentions")
927
+ QUERY_FIELD_NUMBER: _ClassVar[int]
928
+ CHANNEL_ID_FIELD_NUMBER: _ClassVar[int]
929
+ SENDER_ID_FIELD_NUMBER: _ClassVar[int]
930
+ BEFORE_FIELD_NUMBER: _ClassVar[int]
931
+ AFTER_FIELD_NUMBER: _ClassVar[int]
932
+ LIMIT_FIELD_NUMBER: _ClassVar[int]
933
+ OFFSET_FIELD_NUMBER: _ClassVar[int]
934
+ HAS_ATTACHMENTS_FIELD_NUMBER: _ClassVar[int]
935
+ PINNED_FIELD_NUMBER: _ClassVar[int]
936
+ MENTIONS_FIELD_NUMBER: _ClassVar[int]
937
+ query: str
938
+ channel_id: str
939
+ sender_id: str
940
+ before: _timestamp_pb2.Timestamp
941
+ after: _timestamp_pb2.Timestamp
942
+ limit: int
943
+ offset: int
944
+ has_attachments: bool
945
+ pinned: bool
946
+ mentions: str
947
+ def __init__(self, query: _Optional[str] = ..., channel_id: _Optional[str] = ..., sender_id: _Optional[str] = ..., before: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ..., after: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ..., limit: _Optional[int] = ..., offset: _Optional[int] = ..., has_attachments: _Optional[bool] = ..., pinned: _Optional[bool] = ..., mentions: _Optional[str] = ...) -> None: ...
948
+
949
+ class ChannelPermissions(_message.Message):
950
+ __slots__ = ("can_send", "can_read", "can_delete", "can_pin", "can_manage")
951
+ CAN_SEND_FIELD_NUMBER: _ClassVar[int]
952
+ CAN_READ_FIELD_NUMBER: _ClassVar[int]
953
+ CAN_DELETE_FIELD_NUMBER: _ClassVar[int]
954
+ CAN_PIN_FIELD_NUMBER: _ClassVar[int]
955
+ CAN_MANAGE_FIELD_NUMBER: _ClassVar[int]
956
+ can_send: bool
957
+ can_read: bool
958
+ can_delete: bool
959
+ can_pin: bool
960
+ can_manage: bool
961
+ def __init__(self, can_send: _Optional[bool] = ..., can_read: _Optional[bool] = ..., can_delete: _Optional[bool] = ..., can_pin: _Optional[bool] = ..., can_manage: _Optional[bool] = ...) -> None: ...
962
+
963
+ class MessageChannel(_message.Message):
964
+ __slots__ = ("id", "name", "type", "description", "participants", "permissions", "last_message_at", "message_count", "unread_count")
965
+ ID_FIELD_NUMBER: _ClassVar[int]
966
+ NAME_FIELD_NUMBER: _ClassVar[int]
967
+ TYPE_FIELD_NUMBER: _ClassVar[int]
968
+ DESCRIPTION_FIELD_NUMBER: _ClassVar[int]
969
+ PARTICIPANTS_FIELD_NUMBER: _ClassVar[int]
970
+ PERMISSIONS_FIELD_NUMBER: _ClassVar[int]
971
+ LAST_MESSAGE_AT_FIELD_NUMBER: _ClassVar[int]
972
+ MESSAGE_COUNT_FIELD_NUMBER: _ClassVar[int]
973
+ UNREAD_COUNT_FIELD_NUMBER: _ClassVar[int]
974
+ id: str
975
+ name: str
976
+ type: str
977
+ description: str
978
+ participants: _containers.RepeatedCompositeFieldContainer[MessageParticipant]
979
+ permissions: ChannelPermissions
980
+ last_message_at: _timestamp_pb2.Timestamp
981
+ message_count: int
982
+ unread_count: int
983
+ def __init__(self, id: _Optional[str] = ..., name: _Optional[str] = ..., type: _Optional[str] = ..., description: _Optional[str] = ..., participants: _Optional[_Iterable[_Union[MessageParticipant, _Mapping]]] = ..., permissions: _Optional[_Union[ChannelPermissions, _Mapping]] = ..., last_message_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ..., message_count: _Optional[int] = ..., unread_count: _Optional[int] = ...) -> None: ...
984
+
985
+ class PostMedia(_message.Message):
986
+ __slots__ = ("id", "url", "type", "mime_type", "size", "width", "height", "duration", "thumbnail", "description", "alt_text")
987
+ ID_FIELD_NUMBER: _ClassVar[int]
988
+ URL_FIELD_NUMBER: _ClassVar[int]
989
+ TYPE_FIELD_NUMBER: _ClassVar[int]
990
+ MIME_TYPE_FIELD_NUMBER: _ClassVar[int]
991
+ SIZE_FIELD_NUMBER: _ClassVar[int]
992
+ WIDTH_FIELD_NUMBER: _ClassVar[int]
993
+ HEIGHT_FIELD_NUMBER: _ClassVar[int]
994
+ DURATION_FIELD_NUMBER: _ClassVar[int]
995
+ THUMBNAIL_FIELD_NUMBER: _ClassVar[int]
996
+ DESCRIPTION_FIELD_NUMBER: _ClassVar[int]
997
+ ALT_TEXT_FIELD_NUMBER: _ClassVar[int]
998
+ id: str
999
+ url: str
1000
+ type: str
1001
+ mime_type: str
1002
+ size: int
1003
+ width: int
1004
+ height: int
1005
+ duration: float
1006
+ thumbnail: str
1007
+ description: str
1008
+ alt_text: str
1009
+ def __init__(self, id: _Optional[str] = ..., url: _Optional[str] = ..., type: _Optional[str] = ..., mime_type: _Optional[str] = ..., size: _Optional[int] = ..., width: _Optional[int] = ..., height: _Optional[int] = ..., duration: _Optional[float] = ..., thumbnail: _Optional[str] = ..., description: _Optional[str] = ..., alt_text: _Optional[str] = ...) -> None: ...
1010
+
1011
+ class PostLocationCoordinates(_message.Message):
1012
+ __slots__ = ("latitude", "longitude")
1013
+ LATITUDE_FIELD_NUMBER: _ClassVar[int]
1014
+ LONGITUDE_FIELD_NUMBER: _ClassVar[int]
1015
+ latitude: float
1016
+ longitude: float
1017
+ def __init__(self, latitude: _Optional[float] = ..., longitude: _Optional[float] = ...) -> None: ...
1018
+
1019
+ class PostLocation(_message.Message):
1020
+ __slots__ = ("name", "address", "coordinates", "place_id")
1021
+ NAME_FIELD_NUMBER: _ClassVar[int]
1022
+ ADDRESS_FIELD_NUMBER: _ClassVar[int]
1023
+ COORDINATES_FIELD_NUMBER: _ClassVar[int]
1024
+ PLACE_ID_FIELD_NUMBER: _ClassVar[int]
1025
+ name: str
1026
+ address: str
1027
+ coordinates: PostLocationCoordinates
1028
+ place_id: str
1029
+ def __init__(self, name: _Optional[str] = ..., address: _Optional[str] = ..., coordinates: _Optional[_Union[PostLocationCoordinates, _Mapping]] = ..., place_id: _Optional[str] = ...) -> None: ...
1030
+
1031
+ class PostAuthor(_message.Message):
1032
+ __slots__ = ("id", "username", "display_name", "avatar", "verified", "follower_count", "following_count", "bio", "website")
1033
+ ID_FIELD_NUMBER: _ClassVar[int]
1034
+ USERNAME_FIELD_NUMBER: _ClassVar[int]
1035
+ DISPLAY_NAME_FIELD_NUMBER: _ClassVar[int]
1036
+ AVATAR_FIELD_NUMBER: _ClassVar[int]
1037
+ VERIFIED_FIELD_NUMBER: _ClassVar[int]
1038
+ FOLLOWER_COUNT_FIELD_NUMBER: _ClassVar[int]
1039
+ FOLLOWING_COUNT_FIELD_NUMBER: _ClassVar[int]
1040
+ BIO_FIELD_NUMBER: _ClassVar[int]
1041
+ WEBSITE_FIELD_NUMBER: _ClassVar[int]
1042
+ id: str
1043
+ username: str
1044
+ display_name: str
1045
+ avatar: str
1046
+ verified: bool
1047
+ follower_count: int
1048
+ following_count: int
1049
+ bio: str
1050
+ website: str
1051
+ def __init__(self, id: _Optional[str] = ..., username: _Optional[str] = ..., display_name: _Optional[str] = ..., avatar: _Optional[str] = ..., verified: _Optional[bool] = ..., follower_count: _Optional[int] = ..., following_count: _Optional[int] = ..., bio: _Optional[str] = ..., website: _Optional[str] = ...) -> None: ...
1052
+
1053
+ class PostEngagement(_message.Message):
1054
+ __slots__ = ("likes", "shares", "comments", "views", "has_liked", "has_shared", "has_commented", "has_saved")
1055
+ LIKES_FIELD_NUMBER: _ClassVar[int]
1056
+ SHARES_FIELD_NUMBER: _ClassVar[int]
1057
+ COMMENTS_FIELD_NUMBER: _ClassVar[int]
1058
+ VIEWS_FIELD_NUMBER: _ClassVar[int]
1059
+ HAS_LIKED_FIELD_NUMBER: _ClassVar[int]
1060
+ HAS_SHARED_FIELD_NUMBER: _ClassVar[int]
1061
+ HAS_COMMENTED_FIELD_NUMBER: _ClassVar[int]
1062
+ HAS_SAVED_FIELD_NUMBER: _ClassVar[int]
1063
+ likes: int
1064
+ shares: int
1065
+ comments: int
1066
+ views: int
1067
+ has_liked: bool
1068
+ has_shared: bool
1069
+ has_commented: bool
1070
+ has_saved: bool
1071
+ def __init__(self, likes: _Optional[int] = ..., shares: _Optional[int] = ..., comments: _Optional[int] = ..., views: _Optional[int] = ..., has_liked: _Optional[bool] = ..., has_shared: _Optional[bool] = ..., has_commented: _Optional[bool] = ..., has_saved: _Optional[bool] = ...) -> None: ...
1072
+
1073
+ class PostLinkPreview(_message.Message):
1074
+ __slots__ = ("url", "title", "description", "image")
1075
+ URL_FIELD_NUMBER: _ClassVar[int]
1076
+ TITLE_FIELD_NUMBER: _ClassVar[int]
1077
+ DESCRIPTION_FIELD_NUMBER: _ClassVar[int]
1078
+ IMAGE_FIELD_NUMBER: _ClassVar[int]
1079
+ url: str
1080
+ title: str
1081
+ description: str
1082
+ image: str
1083
+ def __init__(self, url: _Optional[str] = ..., title: _Optional[str] = ..., description: _Optional[str] = ..., image: _Optional[str] = ...) -> None: ...
1084
+
1085
+ class PostPollOption(_message.Message):
1086
+ __slots__ = ("text", "votes")
1087
+ TEXT_FIELD_NUMBER: _ClassVar[int]
1088
+ VOTES_FIELD_NUMBER: _ClassVar[int]
1089
+ text: str
1090
+ votes: int
1091
+ def __init__(self, text: _Optional[str] = ..., votes: _Optional[int] = ...) -> None: ...
1092
+
1093
+ class PostPoll(_message.Message):
1094
+ __slots__ = ("question", "options", "expires_at", "multiple_choice")
1095
+ QUESTION_FIELD_NUMBER: _ClassVar[int]
1096
+ OPTIONS_FIELD_NUMBER: _ClassVar[int]
1097
+ EXPIRES_AT_FIELD_NUMBER: _ClassVar[int]
1098
+ MULTIPLE_CHOICE_FIELD_NUMBER: _ClassVar[int]
1099
+ question: str
1100
+ options: _containers.RepeatedCompositeFieldContainer[PostPollOption]
1101
+ expires_at: _timestamp_pb2.Timestamp
1102
+ multiple_choice: bool
1103
+ def __init__(self, question: _Optional[str] = ..., options: _Optional[_Iterable[_Union[PostPollOption, _Mapping]]] = ..., expires_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ..., multiple_choice: _Optional[bool] = ...) -> None: ...
1104
+
1105
+ class PostContent(_message.Message):
1106
+ __slots__ = ("text", "html", "media", "location", "tags", "mentions", "links", "poll")
1107
+ TEXT_FIELD_NUMBER: _ClassVar[int]
1108
+ HTML_FIELD_NUMBER: _ClassVar[int]
1109
+ MEDIA_FIELD_NUMBER: _ClassVar[int]
1110
+ LOCATION_FIELD_NUMBER: _ClassVar[int]
1111
+ TAGS_FIELD_NUMBER: _ClassVar[int]
1112
+ MENTIONS_FIELD_NUMBER: _ClassVar[int]
1113
+ LINKS_FIELD_NUMBER: _ClassVar[int]
1114
+ POLL_FIELD_NUMBER: _ClassVar[int]
1115
+ text: str
1116
+ html: str
1117
+ media: _containers.RepeatedCompositeFieldContainer[PostMedia]
1118
+ location: PostLocation
1119
+ tags: _containers.RepeatedScalarFieldContainer[str]
1120
+ mentions: _containers.RepeatedScalarFieldContainer[str]
1121
+ links: _containers.RepeatedCompositeFieldContainer[PostLinkPreview]
1122
+ poll: PostPoll
1123
+ def __init__(self, text: _Optional[str] = ..., html: _Optional[str] = ..., media: _Optional[_Iterable[_Union[PostMedia, _Mapping]]] = ..., location: _Optional[_Union[PostLocation, _Mapping]] = ..., tags: _Optional[_Iterable[str]] = ..., mentions: _Optional[_Iterable[str]] = ..., links: _Optional[_Iterable[_Union[PostLinkPreview, _Mapping]]] = ..., poll: _Optional[_Union[PostPoll, _Mapping]] = ...) -> None: ...
1124
+
1125
+ class PostThreadInfo(_message.Message):
1126
+ __slots__ = ("id", "position", "total")
1127
+ ID_FIELD_NUMBER: _ClassVar[int]
1128
+ POSITION_FIELD_NUMBER: _ClassVar[int]
1129
+ TOTAL_FIELD_NUMBER: _ClassVar[int]
1130
+ id: str
1131
+ position: int
1132
+ total: int
1133
+ def __init__(self, id: _Optional[str] = ..., position: _Optional[int] = ..., total: _Optional[int] = ...) -> None: ...
1134
+
1135
+ class CrossPostInfo(_message.Message):
1136
+ __slots__ = ("platform", "platform_id", "url")
1137
+ PLATFORM_FIELD_NUMBER: _ClassVar[int]
1138
+ PLATFORM_ID_FIELD_NUMBER: _ClassVar[int]
1139
+ URL_FIELD_NUMBER: _ClassVar[int]
1140
+ platform: str
1141
+ platform_id: str
1142
+ url: str
1143
+ def __init__(self, platform: _Optional[str] = ..., platform_id: _Optional[str] = ..., url: _Optional[str] = ...) -> None: ...
1144
+
1145
+ class PostInfo(_message.Message):
1146
+ __slots__ = ("id", "author", "content", "platform", "platform_id", "url", "created_at", "edited_at", "scheduled_at", "engagement", "visibility", "reply_to", "thread", "cross_posted")
1147
+ ID_FIELD_NUMBER: _ClassVar[int]
1148
+ AUTHOR_FIELD_NUMBER: _ClassVar[int]
1149
+ CONTENT_FIELD_NUMBER: _ClassVar[int]
1150
+ PLATFORM_FIELD_NUMBER: _ClassVar[int]
1151
+ PLATFORM_ID_FIELD_NUMBER: _ClassVar[int]
1152
+ URL_FIELD_NUMBER: _ClassVar[int]
1153
+ CREATED_AT_FIELD_NUMBER: _ClassVar[int]
1154
+ EDITED_AT_FIELD_NUMBER: _ClassVar[int]
1155
+ SCHEDULED_AT_FIELD_NUMBER: _ClassVar[int]
1156
+ ENGAGEMENT_FIELD_NUMBER: _ClassVar[int]
1157
+ VISIBILITY_FIELD_NUMBER: _ClassVar[int]
1158
+ REPLY_TO_FIELD_NUMBER: _ClassVar[int]
1159
+ THREAD_FIELD_NUMBER: _ClassVar[int]
1160
+ CROSS_POSTED_FIELD_NUMBER: _ClassVar[int]
1161
+ id: str
1162
+ author: PostAuthor
1163
+ content: PostContent
1164
+ platform: str
1165
+ platform_id: str
1166
+ url: str
1167
+ created_at: _timestamp_pb2.Timestamp
1168
+ edited_at: _timestamp_pb2.Timestamp
1169
+ scheduled_at: _timestamp_pb2.Timestamp
1170
+ engagement: PostEngagement
1171
+ visibility: str
1172
+ reply_to: str
1173
+ thread: PostThreadInfo
1174
+ cross_posted: _containers.RepeatedCompositeFieldContainer[CrossPostInfo]
1175
+ def __init__(self, id: _Optional[str] = ..., author: _Optional[_Union[PostAuthor, _Mapping]] = ..., content: _Optional[_Union[PostContent, _Mapping]] = ..., platform: _Optional[str] = ..., platform_id: _Optional[str] = ..., url: _Optional[str] = ..., created_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ..., edited_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ..., scheduled_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ..., engagement: _Optional[_Union[PostEngagement, _Mapping]] = ..., visibility: _Optional[str] = ..., reply_to: _Optional[str] = ..., thread: _Optional[_Union[PostThreadInfo, _Mapping]] = ..., cross_posted: _Optional[_Iterable[_Union[CrossPostInfo, _Mapping]]] = ...) -> None: ...
1176
+
1177
+ class PostCreateOptions(_message.Message):
1178
+ __slots__ = ("platforms", "scheduled_at", "visibility", "reply_to", "thread", "location", "tags", "mentions", "enable_comments", "enable_sharing", "content_warning", "sensitive")
1179
+ PLATFORMS_FIELD_NUMBER: _ClassVar[int]
1180
+ SCHEDULED_AT_FIELD_NUMBER: _ClassVar[int]
1181
+ VISIBILITY_FIELD_NUMBER: _ClassVar[int]
1182
+ REPLY_TO_FIELD_NUMBER: _ClassVar[int]
1183
+ THREAD_FIELD_NUMBER: _ClassVar[int]
1184
+ LOCATION_FIELD_NUMBER: _ClassVar[int]
1185
+ TAGS_FIELD_NUMBER: _ClassVar[int]
1186
+ MENTIONS_FIELD_NUMBER: _ClassVar[int]
1187
+ ENABLE_COMMENTS_FIELD_NUMBER: _ClassVar[int]
1188
+ ENABLE_SHARING_FIELD_NUMBER: _ClassVar[int]
1189
+ CONTENT_WARNING_FIELD_NUMBER: _ClassVar[int]
1190
+ SENSITIVE_FIELD_NUMBER: _ClassVar[int]
1191
+ platforms: _containers.RepeatedScalarFieldContainer[str]
1192
+ scheduled_at: _timestamp_pb2.Timestamp
1193
+ visibility: str
1194
+ reply_to: str
1195
+ thread: bool
1196
+ location: PostLocation
1197
+ tags: _containers.RepeatedScalarFieldContainer[str]
1198
+ mentions: _containers.RepeatedScalarFieldContainer[str]
1199
+ enable_comments: bool
1200
+ enable_sharing: bool
1201
+ content_warning: str
1202
+ sensitive: bool
1203
+ def __init__(self, platforms: _Optional[_Iterable[str]] = ..., scheduled_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ..., visibility: _Optional[str] = ..., reply_to: _Optional[str] = ..., thread: _Optional[bool] = ..., location: _Optional[_Union[PostLocation, _Mapping]] = ..., tags: _Optional[_Iterable[str]] = ..., mentions: _Optional[_Iterable[str]] = ..., enable_comments: _Optional[bool] = ..., enable_sharing: _Optional[bool] = ..., content_warning: _Optional[str] = ..., sensitive: _Optional[bool] = ...) -> None: ...
1204
+
1205
+ class PostSearchOptions(_message.Message):
1206
+ __slots__ = ("query", "author", "platform", "tags", "mentions", "since", "before", "limit", "offset", "has_media", "has_location", "visibility", "sort_by")
1207
+ QUERY_FIELD_NUMBER: _ClassVar[int]
1208
+ AUTHOR_FIELD_NUMBER: _ClassVar[int]
1209
+ PLATFORM_FIELD_NUMBER: _ClassVar[int]
1210
+ TAGS_FIELD_NUMBER: _ClassVar[int]
1211
+ MENTIONS_FIELD_NUMBER: _ClassVar[int]
1212
+ SINCE_FIELD_NUMBER: _ClassVar[int]
1213
+ BEFORE_FIELD_NUMBER: _ClassVar[int]
1214
+ LIMIT_FIELD_NUMBER: _ClassVar[int]
1215
+ OFFSET_FIELD_NUMBER: _ClassVar[int]
1216
+ HAS_MEDIA_FIELD_NUMBER: _ClassVar[int]
1217
+ HAS_LOCATION_FIELD_NUMBER: _ClassVar[int]
1218
+ VISIBILITY_FIELD_NUMBER: _ClassVar[int]
1219
+ SORT_BY_FIELD_NUMBER: _ClassVar[int]
1220
+ query: str
1221
+ author: str
1222
+ platform: str
1223
+ tags: _containers.RepeatedScalarFieldContainer[str]
1224
+ mentions: _containers.RepeatedScalarFieldContainer[str]
1225
+ since: _timestamp_pb2.Timestamp
1226
+ before: _timestamp_pb2.Timestamp
1227
+ limit: int
1228
+ offset: int
1229
+ has_media: bool
1230
+ has_location: bool
1231
+ visibility: str
1232
+ sort_by: str
1233
+ def __init__(self, query: _Optional[str] = ..., author: _Optional[str] = ..., platform: _Optional[str] = ..., tags: _Optional[_Iterable[str]] = ..., mentions: _Optional[_Iterable[str]] = ..., since: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ..., before: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ..., limit: _Optional[int] = ..., offset: _Optional[int] = ..., has_media: _Optional[bool] = ..., has_location: _Optional[bool] = ..., visibility: _Optional[str] = ..., sort_by: _Optional[str] = ...) -> None: ...
1234
+
1235
+ class Demographics(_message.Message):
1236
+ __slots__ = ("age", "gender", "location")
1237
+ class AgeEntry(_message.Message):
1238
+ __slots__ = ("key", "value")
1239
+ KEY_FIELD_NUMBER: _ClassVar[int]
1240
+ VALUE_FIELD_NUMBER: _ClassVar[int]
1241
+ key: str
1242
+ value: float
1243
+ def __init__(self, key: _Optional[str] = ..., value: _Optional[float] = ...) -> None: ...
1244
+ class GenderEntry(_message.Message):
1245
+ __slots__ = ("key", "value")
1246
+ KEY_FIELD_NUMBER: _ClassVar[int]
1247
+ VALUE_FIELD_NUMBER: _ClassVar[int]
1248
+ key: str
1249
+ value: float
1250
+ def __init__(self, key: _Optional[str] = ..., value: _Optional[float] = ...) -> None: ...
1251
+ class LocationEntry(_message.Message):
1252
+ __slots__ = ("key", "value")
1253
+ KEY_FIELD_NUMBER: _ClassVar[int]
1254
+ VALUE_FIELD_NUMBER: _ClassVar[int]
1255
+ key: str
1256
+ value: float
1257
+ def __init__(self, key: _Optional[str] = ..., value: _Optional[float] = ...) -> None: ...
1258
+ AGE_FIELD_NUMBER: _ClassVar[int]
1259
+ GENDER_FIELD_NUMBER: _ClassVar[int]
1260
+ LOCATION_FIELD_NUMBER: _ClassVar[int]
1261
+ age: _containers.ScalarMap[str, float]
1262
+ gender: _containers.ScalarMap[str, float]
1263
+ location: _containers.ScalarMap[str, float]
1264
+ def __init__(self, age: _Optional[_Mapping[str, float]] = ..., gender: _Optional[_Mapping[str, float]] = ..., location: _Optional[_Mapping[str, float]] = ...) -> None: ...
1265
+
1266
+ class TopPerformingHour(_message.Message):
1267
+ __slots__ = ("hour", "engagement")
1268
+ HOUR_FIELD_NUMBER: _ClassVar[int]
1269
+ ENGAGEMENT_FIELD_NUMBER: _ClassVar[int]
1270
+ hour: int
1271
+ engagement: int
1272
+ def __init__(self, hour: _Optional[int] = ..., engagement: _Optional[int] = ...) -> None: ...
1273
+
1274
+ class PostAnalytics(_message.Message):
1275
+ __slots__ = ("post_id", "platform", "impressions", "reach", "engagement", "clicks", "shares", "saves", "demographics", "top_performing_hours")
1276
+ POST_ID_FIELD_NUMBER: _ClassVar[int]
1277
+ PLATFORM_FIELD_NUMBER: _ClassVar[int]
1278
+ IMPRESSIONS_FIELD_NUMBER: _ClassVar[int]
1279
+ REACH_FIELD_NUMBER: _ClassVar[int]
1280
+ ENGAGEMENT_FIELD_NUMBER: _ClassVar[int]
1281
+ CLICKS_FIELD_NUMBER: _ClassVar[int]
1282
+ SHARES_FIELD_NUMBER: _ClassVar[int]
1283
+ SAVES_FIELD_NUMBER: _ClassVar[int]
1284
+ DEMOGRAPHICS_FIELD_NUMBER: _ClassVar[int]
1285
+ TOP_PERFORMING_HOURS_FIELD_NUMBER: _ClassVar[int]
1286
+ post_id: str
1287
+ platform: str
1288
+ impressions: int
1289
+ reach: int
1290
+ engagement: PostEngagement
1291
+ clicks: int
1292
+ shares: int
1293
+ saves: int
1294
+ demographics: Demographics
1295
+ top_performing_hours: _containers.RepeatedCompositeFieldContainer[TopPerformingHour]
1296
+ def __init__(self, post_id: _Optional[str] = ..., platform: _Optional[str] = ..., impressions: _Optional[int] = ..., reach: _Optional[int] = ..., engagement: _Optional[_Union[PostEngagement, _Mapping]] = ..., clicks: _Optional[int] = ..., shares: _Optional[int] = ..., saves: _Optional[int] = ..., demographics: _Optional[_Union[Demographics, _Mapping]] = ..., top_performing_hours: _Optional[_Iterable[_Union[TopPerformingHour, _Mapping]]] = ...) -> None: ...