linq-python 0.45.0__py3-none-any.whl → 0.46.0__py3-none-any.whl

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.
linq/_version.py CHANGED
@@ -1,4 +1,4 @@
1
1
  # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
2
 
3
3
  __title__ = "linq"
4
- __version__ = "0.45.0" # x-release-please-version
4
+ __version__ = "0.46.0" # x-release-please-version
@@ -169,6 +169,13 @@ class PollResource(SyncAPIResource):
169
169
  immutable** — you can append options but never edit or remove them (Apple
170
170
  constraint). Returns the full poll.
171
171
 
172
+ **On a zero-day-retention line, `options` must include every existing option (in
173
+ the order they were originally created) followed by the new one(s)**, not just
174
+ the new option(s). Zero-day-retention polls never store option text, so this
175
+ request is the only place that text still exists — it's required to correctly
176
+ render the poll's existing options on the recipient's device when the update is
177
+ sent. Omitting an existing option returns `400`.
178
+
172
179
  Args:
173
180
  extra_headers: Send extra headers
174
181
 
@@ -383,6 +390,13 @@ class AsyncPollResource(AsyncAPIResource):
383
390
  immutable** — you can append options but never edit or remove them (Apple
384
391
  constraint). Returns the full poll.
385
392
 
393
+ **On a zero-day-retention line, `options` must include every existing option (in
394
+ the order they were originally created) followed by the new one(s)**, not just
395
+ the new option(s). Zero-day-retention polls never store option text, so this
396
+ request is the only place that text still exists — it's required to correctly
397
+ render the poll's existing options on the recipient's device when the update is
398
+ sent. Omitting an existing option returns `400`.
399
+
386
400
  Args:
387
401
  extra_headers: Send extra headers
388
402
 
@@ -83,6 +83,14 @@ class Data(BaseModel):
83
83
 
84
84
  sent_at: Optional[datetime] = None
85
85
 
86
+ zero_retention: Optional[bool] = None
87
+ """True when this poll was sent on a zero-day-retention line.
88
+
89
+ Every option's `text` is empty in that case — Linq never persists poll option
90
+ text, so there is nothing to include here. The real text was only ever shown
91
+ once, synchronously, in the API response when the poll was created or added to.
92
+ """
93
+
86
94
 
87
95
  class PollDeliveredWebhookEvent(BaseModel):
88
96
  """Complete webhook payload for poll.delivered events"""
@@ -98,6 +98,13 @@ class Data(BaseModel):
98
98
  sender_handle: Optional[ChatHandle] = None
99
99
  """Null on failure (the send never landed)."""
100
100
 
101
+ zero_retention: Optional[bool] = None
102
+ """True when this poll was sent on a zero-day-retention line.
103
+
104
+ `poll` is built from the same database read as poll.sent/delivered/read, so
105
+ every option's `text` is empty.
106
+ """
107
+
101
108
 
102
109
  class PollFailedWebhookEvent(BaseModel):
103
110
  """Complete webhook payload for poll.failed events"""
@@ -83,6 +83,14 @@ class Data(BaseModel):
83
83
 
84
84
  sent_at: Optional[datetime] = None
85
85
 
86
+ zero_retention: Optional[bool] = None
87
+ """True when this poll was sent on a zero-day-retention line.
88
+
89
+ Every option's `text` is empty in that case — Linq never persists poll option
90
+ text, so there is nothing to include here. The real text was only ever shown
91
+ once, synchronously, in the API response when the poll was created or added to.
92
+ """
93
+
86
94
 
87
95
  class PollReadWebhookEvent(BaseModel):
88
96
  """Complete webhook payload for poll.read events"""
@@ -78,6 +78,15 @@ class Data(BaseModel):
78
78
  sender_handle: Optional[ChatHandle] = None
79
79
  """The line that created the poll (is_me=false for an inbound poll)."""
80
80
 
81
+ zero_retention: Optional[bool] = None
82
+ """True when your line has zero-day-retention enabled.
83
+
84
+ Unlike other poll webhooks, option `text` here is still the real, unstripped
85
+ text as received — Linq never persists it in the database, but this webhook
86
+ fires from the live inbound event, not a database read, so this is the one place
87
+ it's shown.
88
+ """
89
+
81
90
 
82
91
  class PollReceivedWebhookEvent(BaseModel):
83
92
  """Complete webhook payload for poll.received events"""
@@ -83,6 +83,14 @@ class Data(BaseModel):
83
83
 
84
84
  sent_at: Optional[datetime] = None
85
85
 
86
+ zero_retention: Optional[bool] = None
87
+ """True when this poll was sent on a zero-day-retention line.
88
+
89
+ Every option's `text` is empty in that case — Linq never persists poll option
90
+ text, so there is nothing to include here. The real text was only ever shown
91
+ once, synchronously, in the API response when the poll was created or added to.
92
+ """
93
+
86
94
 
87
95
  class PollSentWebhookEvent(BaseModel):
88
96
  """Complete webhook payload for poll.sent events"""
@@ -70,6 +70,15 @@ class Data(BaseModel):
70
70
 
71
71
  service: str
72
72
 
73
+ zero_retention: Optional[bool] = None
74
+ """True when zero-day-retention applies to this update.
75
+
76
+ Behavior differs by `direction`: on an inbound update, `added_options[].text` is
77
+ the real text a participant just added; on an outbound update, it is empty — you
78
+ already saw the real text once, synchronously, in the API response when you made
79
+ the add, and this webhook is built from a database read, which never stored it.
80
+ """
81
+
73
82
 
74
83
  class PollUpdatedWebhookEvent(BaseModel):
75
84
  """Complete webhook payload for poll.updated events"""
@@ -38,6 +38,15 @@ class Data(BaseModel):
38
38
 
39
39
  service: str
40
40
 
41
+ zero_retention: Optional[bool] = None
42
+ """True when this poll is on a zero-day-retention line.
43
+
44
+ Votes are unaffected by zero-day-retention — a vote choice is always persisted
45
+ and delivered regardless — this flag is informational only, telling you why this
46
+ poll's other webhooks (poll.sent, poll.updated, etc.) may carry empty option
47
+ text.
48
+ """
49
+
41
50
 
42
51
  class PollVoteAddedWebhookEvent(BaseModel):
43
52
  """Complete webhook payload for poll.vote.added events"""
@@ -38,6 +38,15 @@ class Data(BaseModel):
38
38
 
39
39
  service: str
40
40
 
41
+ zero_retention: Optional[bool] = None
42
+ """True when this poll is on a zero-day-retention line.
43
+
44
+ Votes are unaffected by zero-day-retention — a vote choice is always persisted
45
+ and delivered regardless — this flag is informational only, telling you why this
46
+ poll's other webhooks (poll.sent, poll.updated, etc.) may carry empty option
47
+ text.
48
+ """
49
+
41
50
 
42
51
  class PollVoteRemovedWebhookEvent(BaseModel):
43
52
  """Complete webhook payload for poll.vote.removed events"""
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: linq-python
3
- Version: 0.45.0
3
+ Version: 0.46.0
4
4
  Summary: The official Python library for the linq-api-v3 API
5
5
  Project-URL: Homepage, https://github.com/linq-team/linq-python
6
6
  Project-URL: Repository, https://github.com/linq-team/linq-python
@@ -11,7 +11,7 @@ linq/_resource.py,sha256=IvbBkxho8w_Ru0GHWOBUDwiuaI-CQoi8WWQJZCkfhyg,1118
11
11
  linq/_response.py,sha256=Pyf_g81OCXWawxoGZDNp6h1sHMlDgCOsM5vI9fGEBKE,28923
12
12
  linq/_streaming.py,sha256=zmn_k0MQ0d2f4KisSxNc4cqa3mTw2j75iPRyTL5jk9I,10562
13
13
  linq/_types.py,sha256=qrCEcjX_Yc2ofAEdW5DcTaji-Ct1o6v7P0mCi-wDlDM,7747
14
- linq/_version.py,sha256=7_YSivabq6FYKRHB6gNyPjh3PSuhXZb4PyRuztwJEQk,157
14
+ linq/_version.py,sha256=Bf85L2Byk7bIvX4FkvkX7W9ohV59T7nOuEFIUAW25as,157
15
15
  linq/pagination.py,sha256=LxWl_sqhWdi6dYzDK1QyEIJd43fvxXMcCwF6Y4ill9I,2464
16
16
  linq/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
17
17
  linq/_utils/__init__.py,sha256=nQq-iFa5YxTaWySaLigatew5rHgTR0M75FNYm4mrO1s,2313
@@ -55,7 +55,7 @@ linq/resources/chats/polls.py,sha256=EloFxr2I0uqfi9Tq0_mOS6dvcWU-QQHwAP5tsFXViQQ
55
55
  linq/resources/chats/typing.py,sha256=ZZeWq9CYJHvphVcwJ5lyFs4meKkSs3GVzcZLKbGi5q0,16022
56
56
  linq/resources/messages/__init__.py,sha256=-SXl5iP6itR7jvnqCnGfOA2dDf-CZBBOpSYnzzKwqmg,1002
57
57
  linq/resources/messages/messages.py,sha256=1SEvpWMomqnnffJEGogX-3epIzG7ExFOcpgDgtmIrro,119782
58
- linq/resources/messages/poll.py,sha256=1Pvxxixdu1b_bvEdA_DWZbUwpbCMwRAIicYKzpB8LaM,27805
58
+ linq/resources/messages/poll.py,sha256=bFSv54zzyKeg4M-X1DHQj45AoVJY-m0HclJVXvxW-QE,28795
59
59
  linq/types/__init__.py,sha256=Y7laK0GsMVEyXjo3MOAPgzd-kthHI663wOr61qn7N9s,12233
60
60
  linq/types/attachment_create_params.py,sha256=jw68hl25ik8CCJ08t0_dcQpyAG_J8N_9oQzP5sshv_U,2361
61
61
  linq/types/attachment_create_response.py,sha256=_UiAI2ZYF_VAi_OoRmRExdzEcQ77IG8U57botnshdkY,1444
@@ -146,15 +146,15 @@ linq/types/phone_number_status_updated_webhook_event.py,sha256=g9bMwsqvnN6ok_Gai
146
146
  linq/types/phone_number_update_params.py,sha256=MCe9AusPptApEV1rhjMjgG2cO77oV_XU4GKhYGw986k,431
147
147
  linq/types/phone_number_update_response.py,sha256=y7S15ru48IMK0-pUkE8I0ksItk0iwWVOhghA-GP-7Pw,472
148
148
  linq/types/phonenumber_list_response.py,sha256=Om7UusgPWl6Y_vbuQz2LY-Fdo8f8Mjjlzc9ARSCNMLU,953
149
- linq/types/poll_delivered_webhook_event.py,sha256=CMdYkndEC_ZEhJRxb2-clLniPwi_KMjSFlRVsAg5x34,3216
150
- linq/types/poll_failed_webhook_event.py,sha256=Y-C4Wh_kZhkgFvdr9anGj_xCFlQt_rL7sDto3GsBXxU,3504
149
+ linq/types/poll_delivered_webhook_event.py,sha256=qaGeqXAxx194eGzSXc14g453suObXkG5KrqPnRrhvc4,3583
150
+ linq/types/poll_failed_webhook_event.py,sha256=fUtSqJ7VVsdnEUdrNe6GOnDTCw7IViqkrByE-KRZcPM,3738
151
151
  linq/types/poll_reaction_added_webhook_event.py,sha256=V3MyPUOY6whLMRPW-L0VTCUH_49t-OWy2KQIjqLhCe4,1664
152
- linq/types/poll_read_webhook_event.py,sha256=oOGEZiHvnVcPKb5i92j6vkDVQ338SLl2b1pOnxQ4m60,3201
153
- linq/types/poll_received_webhook_event.py,sha256=nZzLKBzp1vnaAHzp7diE5zHElPBQVQbKc9wtVSsYX9I,3098
154
- linq/types/poll_sent_webhook_event.py,sha256=xKuH2a0TjCVxvCc374vkkEgahLezku5CSpP1XXhYOE4,3201
155
- linq/types/poll_updated_webhook_event.py,sha256=bke33XAn_mrVPPHR2oOIv_1R45mA6M-bq7zI1En3Ehk,2936
156
- linq/types/poll_vote_added_webhook_event.py,sha256=KCWyPbylJ-D9EE7YqbJQiizPrTe6KuqIURslHGEzKlk,2050
157
- linq/types/poll_vote_removed_webhook_event.py,sha256=pIvFblX4FXzquYFEWDDbE2TX7lFOwiDrnMgN0emSbMk,2056
152
+ linq/types/poll_read_webhook_event.py,sha256=p9vXlUkktQHplX3-j89DxLZyo8WthpeC-jl532l0rNU,3568
153
+ linq/types/poll_received_webhook_event.py,sha256=5BqpX5tiKIlO-NF1uIDmoaT_K9RjQa-R2F6iR48-c9A,3473
154
+ linq/types/poll_sent_webhook_event.py,sha256=kWXAwkn8ap6NcRYTQqwORwMqVGJ50hkII8L9k7kUm0Q,3568
155
+ linq/types/poll_updated_webhook_event.py,sha256=8SN4UA1OrzLqU2pLUTgeO39Bhuntady9Nfrdp5EmNX0,3389
156
+ linq/types/poll_vote_added_webhook_event.py,sha256=en0EMNhQm7dGrElDC_mf57AT_4AXF6tImOt29uGXAnE,2425
157
+ linq/types/poll_vote_removed_webhook_event.py,sha256=Kc2PNF8CFzywd9Wx3lW2a2OMbQNINTHeZgKZmO-hqKA,2431
158
158
  linq/types/reaction_added_webhook_event.py,sha256=k5ycd7UFoWGR1yYh3HdbUFrov7DLg8XVE9f3RbP_kMA,1434
159
159
  linq/types/reaction_event_base.py,sha256=88aHOGXVs43YMWuEdo1bRplRG-cKqwUW_VGlcQIBG80,2806
160
160
  linq/types/reaction_removed_webhook_event.py,sha256=ebqJnHCXScvgwoifHpJLqI4HnY90_lvveSIwQ26UXTQ,1442
@@ -214,7 +214,7 @@ linq/types/shared_params/__init__.py,sha256=FZWRsA1D5DW6IXxenxo9U8-bDW6YiizL-xaw
214
214
  linq/types/shared_params/reaction_type.py,sha256=MP4ekeDAr9lK0wqdvl6FMVa5s0j2w6JhwF8TcF48aSA,317
215
215
  linq/types/shared_params/service_type.py,sha256=AV_VS3d0v059_wou2dts8Jy-NzbGFXa3_VRRpG42N48,259
216
216
  linq/types/shared_params/text_decoration.py,sha256=H-ph17ldBaFRNhajm77DfqjjtQbTNFJj9sepoHHcD80,881
217
- linq_python-0.45.0.dist-info/METADATA,sha256=VUJKL5C8RIkaAocFMqrC6j81UuEaWaVXdOwqYc6sTig,18056
218
- linq_python-0.45.0.dist-info/WHEEL,sha256=C2FUgwZgiLbznR-k0b_5k3Ai_1aASOXDss3lzCUsUug,87
219
- linq_python-0.45.0.dist-info/licenses/LICENSE,sha256=zP4mO5gBwuMBJx2-sVWVdjklSfevmIQT68JUQfvjy40,11341
220
- linq_python-0.45.0.dist-info/RECORD,,
217
+ linq_python-0.46.0.dist-info/METADATA,sha256=QEIC52FLVLSZGHASc8DufZO7OVn1yDVVMhyjK9Hnemo,18056
218
+ linq_python-0.46.0.dist-info/WHEEL,sha256=C2FUgwZgiLbznR-k0b_5k3Ai_1aASOXDss3lzCUsUug,87
219
+ linq_python-0.46.0.dist-info/licenses/LICENSE,sha256=zP4mO5gBwuMBJx2-sVWVdjklSfevmIQT68JUQfvjy40,11341
220
+ linq_python-0.46.0.dist-info/RECORD,,