linq-python 0.7.0__tar.gz → 0.8.0__tar.gz
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_python-0.8.0/.release-please-manifest.json +3 -0
- {linq_python-0.7.0 → linq_python-0.8.0}/CHANGELOG.md +25 -0
- {linq_python-0.7.0 → linq_python-0.8.0}/PKG-INFO +1 -1
- {linq_python-0.7.0 → linq_python-0.8.0}/pyproject.toml +2 -2
- {linq_python-0.7.0 → linq_python-0.8.0}/src/linq/_version.py +1 -1
- linq_python-0.8.0/src/linq/types/chat.py +84 -0
- linq_python-0.8.0/src/linq/types/chat_create_response.py +85 -0
- {linq_python-0.7.0 → linq_python-0.8.0}/src/linq/types/chat_created_webhook_event.py +41 -1
- {linq_python-0.7.0 → linq_python-0.8.0}/src/linq/types/message_edited_webhook_event.py +40 -1
- {linq_python-0.7.0 → linq_python-0.8.0}/src/linq/types/message_event_v2.py +31 -13
- {linq_python-0.7.0 → linq_python-0.8.0}/tests/api_resources/test_contact_card.py +10 -10
- linq_python-0.7.0/.release-please-manifest.json +0 -3
- linq_python-0.7.0/src/linq/types/chat.py +0 -65
- linq_python-0.7.0/src/linq/types/chat_create_response.py +0 -65
- {linq_python-0.7.0 → linq_python-0.8.0}/.gitignore +0 -0
- {linq_python-0.7.0 → linq_python-0.8.0}/CONTRIBUTING.md +0 -0
- {linq_python-0.7.0 → linq_python-0.8.0}/LICENSE +0 -0
- {linq_python-0.7.0 → linq_python-0.8.0}/README.md +0 -0
- {linq_python-0.7.0 → linq_python-0.8.0}/SECURITY.md +0 -0
- {linq_python-0.7.0 → linq_python-0.8.0}/api.md +0 -0
- {linq_python-0.7.0 → linq_python-0.8.0}/bin/check-release-environment +0 -0
- {linq_python-0.7.0 → linq_python-0.8.0}/bin/publish-pypi +0 -0
- {linq_python-0.7.0 → linq_python-0.8.0}/examples/.keep +0 -0
- {linq_python-0.7.0 → linq_python-0.8.0}/release-please-config.json +0 -0
- {linq_python-0.7.0 → linq_python-0.8.0}/requirements-dev.lock +0 -0
- {linq_python-0.7.0 → linq_python-0.8.0}/src/linq/__init__.py +0 -0
- {linq_python-0.7.0 → linq_python-0.8.0}/src/linq/_base_client.py +0 -0
- {linq_python-0.7.0 → linq_python-0.8.0}/src/linq/_client.py +0 -0
- {linq_python-0.7.0 → linq_python-0.8.0}/src/linq/_compat.py +0 -0
- {linq_python-0.7.0 → linq_python-0.8.0}/src/linq/_constants.py +0 -0
- {linq_python-0.7.0 → linq_python-0.8.0}/src/linq/_exceptions.py +0 -0
- {linq_python-0.7.0 → linq_python-0.8.0}/src/linq/_files.py +0 -0
- {linq_python-0.7.0 → linq_python-0.8.0}/src/linq/_models.py +0 -0
- {linq_python-0.7.0 → linq_python-0.8.0}/src/linq/_qs.py +0 -0
- {linq_python-0.7.0 → linq_python-0.8.0}/src/linq/_resource.py +0 -0
- {linq_python-0.7.0 → linq_python-0.8.0}/src/linq/_response.py +0 -0
- {linq_python-0.7.0 → linq_python-0.8.0}/src/linq/_streaming.py +0 -0
- {linq_python-0.7.0 → linq_python-0.8.0}/src/linq/_types.py +0 -0
- {linq_python-0.7.0 → linq_python-0.8.0}/src/linq/_utils/__init__.py +0 -0
- {linq_python-0.7.0 → linq_python-0.8.0}/src/linq/_utils/_compat.py +0 -0
- {linq_python-0.7.0 → linq_python-0.8.0}/src/linq/_utils/_datetime_parse.py +0 -0
- {linq_python-0.7.0 → linq_python-0.8.0}/src/linq/_utils/_json.py +0 -0
- {linq_python-0.7.0 → linq_python-0.8.0}/src/linq/_utils/_logs.py +0 -0
- {linq_python-0.7.0 → linq_python-0.8.0}/src/linq/_utils/_path.py +0 -0
- {linq_python-0.7.0 → linq_python-0.8.0}/src/linq/_utils/_proxy.py +0 -0
- {linq_python-0.7.0 → linq_python-0.8.0}/src/linq/_utils/_reflection.py +0 -0
- {linq_python-0.7.0 → linq_python-0.8.0}/src/linq/_utils/_resources_proxy.py +0 -0
- {linq_python-0.7.0 → linq_python-0.8.0}/src/linq/_utils/_streams.py +0 -0
- {linq_python-0.7.0 → linq_python-0.8.0}/src/linq/_utils/_sync.py +0 -0
- {linq_python-0.7.0 → linq_python-0.8.0}/src/linq/_utils/_transform.py +0 -0
- {linq_python-0.7.0 → linq_python-0.8.0}/src/linq/_utils/_typing.py +0 -0
- {linq_python-0.7.0 → linq_python-0.8.0}/src/linq/_utils/_utils.py +0 -0
- {linq_python-0.7.0 → linq_python-0.8.0}/src/linq/lib/.keep +0 -0
- {linq_python-0.7.0 → linq_python-0.8.0}/src/linq/pagination.py +0 -0
- {linq_python-0.7.0 → linq_python-0.8.0}/src/linq/py.typed +0 -0
- {linq_python-0.7.0 → linq_python-0.8.0}/src/linq/resources/__init__.py +0 -0
- {linq_python-0.7.0 → linq_python-0.8.0}/src/linq/resources/attachments.py +0 -0
- {linq_python-0.7.0 → linq_python-0.8.0}/src/linq/resources/capability.py +0 -0
- {linq_python-0.7.0 → linq_python-0.8.0}/src/linq/resources/chats/__init__.py +0 -0
- {linq_python-0.7.0 → linq_python-0.8.0}/src/linq/resources/chats/chats.py +0 -0
- {linq_python-0.7.0 → linq_python-0.8.0}/src/linq/resources/chats/messages.py +0 -0
- {linq_python-0.7.0 → linq_python-0.8.0}/src/linq/resources/chats/participants.py +0 -0
- {linq_python-0.7.0 → linq_python-0.8.0}/src/linq/resources/chats/typing.py +0 -0
- {linq_python-0.7.0 → linq_python-0.8.0}/src/linq/resources/contact_card.py +0 -0
- {linq_python-0.7.0 → linq_python-0.8.0}/src/linq/resources/messages.py +0 -0
- {linq_python-0.7.0 → linq_python-0.8.0}/src/linq/resources/phone_numbers.py +0 -0
- {linq_python-0.7.0 → linq_python-0.8.0}/src/linq/resources/phonenumbers.py +0 -0
- {linq_python-0.7.0 → linq_python-0.8.0}/src/linq/resources/webhook_events.py +0 -0
- {linq_python-0.7.0 → linq_python-0.8.0}/src/linq/resources/webhook_subscriptions.py +0 -0
- {linq_python-0.7.0 → linq_python-0.8.0}/src/linq/resources/webhooks.py +0 -0
- {linq_python-0.7.0 → linq_python-0.8.0}/src/linq/types/__init__.py +0 -0
- {linq_python-0.7.0 → linq_python-0.8.0}/src/linq/types/attachment_create_params.py +0 -0
- {linq_python-0.7.0 → linq_python-0.8.0}/src/linq/types/attachment_create_response.py +0 -0
- {linq_python-0.7.0 → linq_python-0.8.0}/src/linq/types/attachment_retrieve_response.py +0 -0
- {linq_python-0.7.0 → linq_python-0.8.0}/src/linq/types/capability_check_RCS_params.py +0 -0
- {linq_python-0.7.0 → linq_python-0.8.0}/src/linq/types/capability_check_i_message_params.py +0 -0
- {linq_python-0.7.0 → linq_python-0.8.0}/src/linq/types/chat_create_params.py +0 -0
- {linq_python-0.7.0 → linq_python-0.8.0}/src/linq/types/chat_group_icon_update_failed_webhook_event.py +0 -0
- {linq_python-0.7.0 → linq_python-0.8.0}/src/linq/types/chat_group_icon_updated_webhook_event.py +0 -0
- {linq_python-0.7.0 → linq_python-0.8.0}/src/linq/types/chat_group_name_update_failed_webhook_event.py +0 -0
- {linq_python-0.7.0 → linq_python-0.8.0}/src/linq/types/chat_group_name_updated_webhook_event.py +0 -0
- {linq_python-0.7.0 → linq_python-0.8.0}/src/linq/types/chat_leave_chat_response.py +0 -0
- {linq_python-0.7.0 → linq_python-0.8.0}/src/linq/types/chat_list_chats_params.py +0 -0
- {linq_python-0.7.0 → linq_python-0.8.0}/src/linq/types/chat_send_voicememo_params.py +0 -0
- {linq_python-0.7.0 → linq_python-0.8.0}/src/linq/types/chat_send_voicememo_response.py +0 -0
- {linq_python-0.7.0 → linq_python-0.8.0}/src/linq/types/chat_typing_indicator_started_webhook_event.py +0 -0
- {linq_python-0.7.0 → linq_python-0.8.0}/src/linq/types/chat_typing_indicator_stopped_webhook_event.py +0 -0
- {linq_python-0.7.0 → linq_python-0.8.0}/src/linq/types/chat_update_params.py +0 -0
- {linq_python-0.7.0 → linq_python-0.8.0}/src/linq/types/chat_update_response.py +0 -0
- {linq_python-0.7.0 → linq_python-0.8.0}/src/linq/types/chats/__init__.py +0 -0
- {linq_python-0.7.0 → linq_python-0.8.0}/src/linq/types/chats/message_list_params.py +0 -0
- {linq_python-0.7.0 → linq_python-0.8.0}/src/linq/types/chats/message_send_params.py +0 -0
- {linq_python-0.7.0 → linq_python-0.8.0}/src/linq/types/chats/message_send_response.py +0 -0
- {linq_python-0.7.0 → linq_python-0.8.0}/src/linq/types/chats/participant_add_params.py +0 -0
- {linq_python-0.7.0 → linq_python-0.8.0}/src/linq/types/chats/participant_add_response.py +0 -0
- {linq_python-0.7.0 → linq_python-0.8.0}/src/linq/types/chats/participant_remove_params.py +0 -0
- {linq_python-0.7.0 → linq_python-0.8.0}/src/linq/types/chats/participant_remove_response.py +0 -0
- {linq_python-0.7.0 → linq_python-0.8.0}/src/linq/types/chats/sent_message.py +0 -0
- {linq_python-0.7.0 → linq_python-0.8.0}/src/linq/types/contact_card_create_params.py +0 -0
- {linq_python-0.7.0 → linq_python-0.8.0}/src/linq/types/contact_card_retrieve_params.py +0 -0
- {linq_python-0.7.0 → linq_python-0.8.0}/src/linq/types/contact_card_retrieve_response.py +0 -0
- {linq_python-0.7.0 → linq_python-0.8.0}/src/linq/types/contact_card_update_params.py +0 -0
- {linq_python-0.7.0 → linq_python-0.8.0}/src/linq/types/events_webhook_event.py +0 -0
- {linq_python-0.7.0 → linq_python-0.8.0}/src/linq/types/handle_check_response.py +0 -0
- {linq_python-0.7.0 → linq_python-0.8.0}/src/linq/types/link_part_param.py +0 -0
- {linq_python-0.7.0 → linq_python-0.8.0}/src/linq/types/media_part_param.py +0 -0
- {linq_python-0.7.0 → linq_python-0.8.0}/src/linq/types/message.py +0 -0
- {linq_python-0.7.0 → linq_python-0.8.0}/src/linq/types/message_add_reaction_params.py +0 -0
- {linq_python-0.7.0 → linq_python-0.8.0}/src/linq/types/message_add_reaction_response.py +0 -0
- {linq_python-0.7.0 → linq_python-0.8.0}/src/linq/types/message_content_param.py +0 -0
- {linq_python-0.7.0 → linq_python-0.8.0}/src/linq/types/message_delivered_webhook_event.py +0 -0
- {linq_python-0.7.0 → linq_python-0.8.0}/src/linq/types/message_effect.py +0 -0
- {linq_python-0.7.0 → linq_python-0.8.0}/src/linq/types/message_effect_param.py +0 -0
- {linq_python-0.7.0 → linq_python-0.8.0}/src/linq/types/message_failed_webhook_event.py +0 -0
- {linq_python-0.7.0 → linq_python-0.8.0}/src/linq/types/message_list_messages_thread_params.py +0 -0
- {linq_python-0.7.0 → linq_python-0.8.0}/src/linq/types/message_read_webhook_event.py +0 -0
- {linq_python-0.7.0 → linq_python-0.8.0}/src/linq/types/message_received_webhook_event.py +0 -0
- {linq_python-0.7.0 → linq_python-0.8.0}/src/linq/types/message_sent_webhook_event.py +0 -0
- {linq_python-0.7.0 → linq_python-0.8.0}/src/linq/types/message_update_params.py +0 -0
- {linq_python-0.7.0 → linq_python-0.8.0}/src/linq/types/participant_added_webhook_event.py +0 -0
- {linq_python-0.7.0 → linq_python-0.8.0}/src/linq/types/participant_removed_webhook_event.py +0 -0
- {linq_python-0.7.0 → linq_python-0.8.0}/src/linq/types/phone_number_list_response.py +0 -0
- {linq_python-0.7.0 → linq_python-0.8.0}/src/linq/types/phone_number_status_updated_webhook_event.py +0 -0
- {linq_python-0.7.0 → linq_python-0.8.0}/src/linq/types/phonenumber_list_response.py +0 -0
- {linq_python-0.7.0 → linq_python-0.8.0}/src/linq/types/reaction_added_webhook_event.py +0 -0
- {linq_python-0.7.0 → linq_python-0.8.0}/src/linq/types/reaction_event_base.py +0 -0
- {linq_python-0.7.0 → linq_python-0.8.0}/src/linq/types/reaction_removed_webhook_event.py +0 -0
- {linq_python-0.7.0 → linq_python-0.8.0}/src/linq/types/reply_to.py +0 -0
- {linq_python-0.7.0 → linq_python-0.8.0}/src/linq/types/reply_to_param.py +0 -0
- {linq_python-0.7.0 → linq_python-0.8.0}/src/linq/types/schemas_media_part_response.py +0 -0
- {linq_python-0.7.0 → linq_python-0.8.0}/src/linq/types/schemas_message_effect.py +0 -0
- {linq_python-0.7.0 → linq_python-0.8.0}/src/linq/types/schemas_text_part_response.py +0 -0
- {linq_python-0.7.0 → linq_python-0.8.0}/src/linq/types/set_contact_card.py +0 -0
- {linq_python-0.7.0 → linq_python-0.8.0}/src/linq/types/shared/__init__.py +0 -0
- {linq_python-0.7.0 → linq_python-0.8.0}/src/linq/types/shared/chat_handle.py +0 -0
- {linq_python-0.7.0 → linq_python-0.8.0}/src/linq/types/shared/link_part_response.py +0 -0
- {linq_python-0.7.0 → linq_python-0.8.0}/src/linq/types/shared/media_part_response.py +0 -0
- {linq_python-0.7.0 → linq_python-0.8.0}/src/linq/types/shared/reaction.py +0 -0
- {linq_python-0.7.0 → linq_python-0.8.0}/src/linq/types/shared/reaction_type.py +0 -0
- {linq_python-0.7.0 → linq_python-0.8.0}/src/linq/types/shared/service_type.py +0 -0
- {linq_python-0.7.0 → linq_python-0.8.0}/src/linq/types/shared/text_decoration.py +0 -0
- {linq_python-0.7.0 → linq_python-0.8.0}/src/linq/types/shared/text_part_response.py +0 -0
- {linq_python-0.7.0 → linq_python-0.8.0}/src/linq/types/shared_params/__init__.py +0 -0
- {linq_python-0.7.0 → linq_python-0.8.0}/src/linq/types/shared_params/reaction_type.py +0 -0
- {linq_python-0.7.0 → linq_python-0.8.0}/src/linq/types/shared_params/service_type.py +0 -0
- {linq_python-0.7.0 → linq_python-0.8.0}/src/linq/types/shared_params/text_decoration.py +0 -0
- {linq_python-0.7.0 → linq_python-0.8.0}/src/linq/types/supported_content_type.py +0 -0
- {linq_python-0.7.0 → linq_python-0.8.0}/src/linq/types/text_part_param.py +0 -0
- {linq_python-0.7.0 → linq_python-0.8.0}/src/linq/types/webhook_event_list_response.py +0 -0
- {linq_python-0.7.0 → linq_python-0.8.0}/src/linq/types/webhook_event_type.py +0 -0
- {linq_python-0.7.0 → linq_python-0.8.0}/src/linq/types/webhook_subscription.py +0 -0
- {linq_python-0.7.0 → linq_python-0.8.0}/src/linq/types/webhook_subscription_create_params.py +0 -0
- {linq_python-0.7.0 → linq_python-0.8.0}/src/linq/types/webhook_subscription_create_response.py +0 -0
- {linq_python-0.7.0 → linq_python-0.8.0}/src/linq/types/webhook_subscription_list_response.py +0 -0
- {linq_python-0.7.0 → linq_python-0.8.0}/src/linq/types/webhook_subscription_update_params.py +0 -0
- {linq_python-0.7.0 → linq_python-0.8.0}/src/linq_api_v3/lib/.keep +0 -0
- {linq_python-0.7.0 → linq_python-0.8.0}/tests/__init__.py +0 -0
- {linq_python-0.7.0 → linq_python-0.8.0}/tests/api_resources/__init__.py +0 -0
- {linq_python-0.7.0 → linq_python-0.8.0}/tests/api_resources/chats/__init__.py +0 -0
- {linq_python-0.7.0 → linq_python-0.8.0}/tests/api_resources/chats/test_messages.py +0 -0
- {linq_python-0.7.0 → linq_python-0.8.0}/tests/api_resources/chats/test_participants.py +0 -0
- {linq_python-0.7.0 → linq_python-0.8.0}/tests/api_resources/chats/test_typing.py +0 -0
- {linq_python-0.7.0 → linq_python-0.8.0}/tests/api_resources/test_attachments.py +0 -0
- {linq_python-0.7.0 → linq_python-0.8.0}/tests/api_resources/test_capability.py +0 -0
- {linq_python-0.7.0 → linq_python-0.8.0}/tests/api_resources/test_chats.py +0 -0
- {linq_python-0.7.0 → linq_python-0.8.0}/tests/api_resources/test_messages.py +0 -0
- {linq_python-0.7.0 → linq_python-0.8.0}/tests/api_resources/test_phone_numbers.py +0 -0
- {linq_python-0.7.0 → linq_python-0.8.0}/tests/api_resources/test_phonenumbers.py +0 -0
- {linq_python-0.7.0 → linq_python-0.8.0}/tests/api_resources/test_webhook_events.py +0 -0
- {linq_python-0.7.0 → linq_python-0.8.0}/tests/api_resources/test_webhook_subscriptions.py +0 -0
- {linq_python-0.7.0 → linq_python-0.8.0}/tests/api_resources/test_webhooks.py +0 -0
- {linq_python-0.7.0 → linq_python-0.8.0}/tests/conftest.py +0 -0
- {linq_python-0.7.0 → linq_python-0.8.0}/tests/sample_file.txt +0 -0
- {linq_python-0.7.0 → linq_python-0.8.0}/tests/test_client.py +0 -0
- {linq_python-0.7.0 → linq_python-0.8.0}/tests/test_extract_files.py +0 -0
- {linq_python-0.7.0 → linq_python-0.8.0}/tests/test_files.py +0 -0
- {linq_python-0.7.0 → linq_python-0.8.0}/tests/test_models.py +0 -0
- {linq_python-0.7.0 → linq_python-0.8.0}/tests/test_qs.py +0 -0
- {linq_python-0.7.0 → linq_python-0.8.0}/tests/test_required_args.py +0 -0
- {linq_python-0.7.0 → linq_python-0.8.0}/tests/test_response.py +0 -0
- {linq_python-0.7.0 → linq_python-0.8.0}/tests/test_streaming.py +0 -0
- {linq_python-0.7.0 → linq_python-0.8.0}/tests/test_transform.py +0 -0
- {linq_python-0.7.0 → linq_python-0.8.0}/tests/test_utils/test_datetime_parse.py +0 -0
- {linq_python-0.7.0 → linq_python-0.8.0}/tests/test_utils/test_json.py +0 -0
- {linq_python-0.7.0 → linq_python-0.8.0}/tests/test_utils/test_path.py +0 -0
- {linq_python-0.7.0 → linq_python-0.8.0}/tests/test_utils/test_proxy.py +0 -0
- {linq_python-0.7.0 → linq_python-0.8.0}/tests/test_utils/test_typing.py +0 -0
- {linq_python-0.7.0 → linq_python-0.8.0}/tests/utils.py +0 -0
- {linq_python-0.7.0 → linq_python-0.8.0}/uv.lock +0 -0
|
@@ -1,5 +1,30 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 0.8.0 (2026-05-07)
|
|
4
|
+
|
|
5
|
+
Full Changelog: [v0.7.0...v0.8.0](https://github.com/linq-team/linq-python/compare/v0.7.0...v0.8.0)
|
|
6
|
+
|
|
7
|
+
### Features
|
|
8
|
+
|
|
9
|
+
* **chat-service:** expose health_score.updated_at on chat reads + webhooks ([ae5f146](https://github.com/linq-team/linq-python/commit/ae5f1461f6468c48ec88d999d59293e2f364ddd6))
|
|
10
|
+
* remove health_score from synapse — health_status is the contract ([5ec27d1](https://github.com/linq-team/linq-python/commit/5ec27d1544c85532b8d0344b3108a88cf474db90))
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
### Bug Fixes
|
|
14
|
+
|
|
15
|
+
* **chat-service:** stamp health_status from risk-service sync reply ([ff22296](https://github.com/linq-team/linq-python/commit/ff222969e755bd20e352de665b5e7fe47ea99705))
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
### Chores
|
|
19
|
+
|
|
20
|
+
* **internal:** reformat pyproject.toml ([3ab97d9](https://github.com/linq-team/linq-python/commit/3ab97d9f5daea08054fba6086ca2c1849289d8ff))
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
### Documentation
|
|
24
|
+
|
|
25
|
+
* **openapi:** add HealthStatus [BETA] + deprecate HealthScore ([d4e3711](https://github.com/linq-team/linq-python/commit/d4e37118b71348796cb029bed6f3b831c3996941))
|
|
26
|
+
* **openapi:** add named examples to unblock docs OpExample ([6a37d71](https://github.com/linq-team/linq-python/commit/6a37d71c0aa57feefc85810a5012da74153b835f))
|
|
27
|
+
|
|
3
28
|
## 0.7.0 (2026-04-30)
|
|
4
29
|
|
|
5
30
|
Full Changelog: [v0.6.0...v0.7.0](https://github.com/linq-team/linq-python/compare/v0.6.0...v0.7.0)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.3
|
|
2
2
|
Name: linq-python
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.8.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
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "linq-python"
|
|
3
|
-
version = "0.
|
|
3
|
+
version = "0.8.0"
|
|
4
4
|
description = "The official Python library for the linq-api-v3 API"
|
|
5
5
|
dynamic = ["readme"]
|
|
6
6
|
license = "Apache-2.0"
|
|
@@ -154,7 +154,7 @@ show_error_codes = true
|
|
|
154
154
|
#
|
|
155
155
|
# We also exclude our `tests` as mypy doesn't always infer
|
|
156
156
|
# types correctly and Pyright will still catch any type errors.
|
|
157
|
-
exclude = [
|
|
157
|
+
exclude = ["src/linq/_files.py", "_dev/.*.py", "tests/.*"]
|
|
158
158
|
|
|
159
159
|
strict_equality = true
|
|
160
160
|
implicit_reexport = true
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
from typing import List, Optional
|
|
4
|
+
from datetime import datetime
|
|
5
|
+
from typing_extensions import Literal
|
|
6
|
+
|
|
7
|
+
from .._models import BaseModel
|
|
8
|
+
from .shared.chat_handle import ChatHandle
|
|
9
|
+
from .shared.service_type import ServiceType
|
|
10
|
+
|
|
11
|
+
__all__ = ["Chat", "HealthStatus"]
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
class HealthStatus(BaseModel):
|
|
15
|
+
"""**[BETA]** Current health for a chat.
|
|
16
|
+
|
|
17
|
+
Always present — chats start at `healthy` and may shift based on engagement and delivery signals on the conversation. Many `at_risk` or `critical` chats on a single line increase the risk of line flagging.
|
|
18
|
+
|
|
19
|
+
Switch on `status` to gate sends or surface line health in your UI — the enum is the long-term contract. Each status carries a `doc_url` that deep-links to the relevant section of the Chat Health guide.
|
|
20
|
+
|
|
21
|
+
See the [Chat Health guide](/guides/chats/chat-health) for what each status means and how to react.
|
|
22
|
+
"""
|
|
23
|
+
|
|
24
|
+
doc_url: str
|
|
25
|
+
"""Deep-link to the relevant section of the Chat Health guide for this status."""
|
|
26
|
+
|
|
27
|
+
status: Literal["healthy", "at_risk", "critical", "opted_out"]
|
|
28
|
+
"""Current health bucket for the chat.
|
|
29
|
+
|
|
30
|
+
See the [Chat Health guide](/guides/chats/chat-health) for what each value means
|
|
31
|
+
and how to react. `doc_url` deep-links to the relevant section.
|
|
32
|
+
"""
|
|
33
|
+
|
|
34
|
+
updated_at: datetime
|
|
35
|
+
"""When this status last changed."""
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
class Chat(BaseModel):
|
|
39
|
+
id: str
|
|
40
|
+
"""Unique identifier for the chat"""
|
|
41
|
+
|
|
42
|
+
created_at: datetime
|
|
43
|
+
"""When the chat was created"""
|
|
44
|
+
|
|
45
|
+
display_name: Optional[str] = None
|
|
46
|
+
"""Display name for the chat.
|
|
47
|
+
|
|
48
|
+
Defaults to a comma-separated list of recipient handles. Can be updated for
|
|
49
|
+
group chats.
|
|
50
|
+
"""
|
|
51
|
+
|
|
52
|
+
handles: List[ChatHandle]
|
|
53
|
+
"""List of chat participants with full handle details.
|
|
54
|
+
|
|
55
|
+
Always contains at least two handles (your phone number and the other
|
|
56
|
+
participant).
|
|
57
|
+
"""
|
|
58
|
+
|
|
59
|
+
health_status: HealthStatus
|
|
60
|
+
"""**[BETA]** Current health for a chat.
|
|
61
|
+
|
|
62
|
+
Always present — chats start at `healthy` and may shift based on engagement and
|
|
63
|
+
delivery signals on the conversation. Many `at_risk` or `critical` chats on a
|
|
64
|
+
single line increase the risk of line flagging.
|
|
65
|
+
|
|
66
|
+
Switch on `status` to gate sends or surface line health in your UI — the enum is
|
|
67
|
+
the long-term contract. Each status carries a `doc_url` that deep-links to the
|
|
68
|
+
relevant section of the Chat Health guide.
|
|
69
|
+
|
|
70
|
+
See the [Chat Health guide](/guides/chats/chat-health) for what each status
|
|
71
|
+
means and how to react.
|
|
72
|
+
"""
|
|
73
|
+
|
|
74
|
+
is_archived: bool
|
|
75
|
+
"""Whether the chat is archived"""
|
|
76
|
+
|
|
77
|
+
is_group: bool
|
|
78
|
+
"""Whether this is a group chat"""
|
|
79
|
+
|
|
80
|
+
updated_at: datetime
|
|
81
|
+
"""When the chat was last updated"""
|
|
82
|
+
|
|
83
|
+
service: Optional[ServiceType] = None
|
|
84
|
+
"""Messaging service type"""
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
from typing import List, Optional
|
|
4
|
+
from datetime import datetime
|
|
5
|
+
from typing_extensions import Literal
|
|
6
|
+
|
|
7
|
+
from .._models import BaseModel
|
|
8
|
+
from .chats.sent_message import SentMessage
|
|
9
|
+
from .shared.chat_handle import ChatHandle
|
|
10
|
+
from .shared.service_type import ServiceType
|
|
11
|
+
|
|
12
|
+
__all__ = ["ChatCreateResponse", "Chat", "ChatHealthStatus"]
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
class ChatHealthStatus(BaseModel):
|
|
16
|
+
"""**[BETA]** Current health for a chat.
|
|
17
|
+
|
|
18
|
+
Always present — chats start at `healthy` and may shift based on engagement and delivery signals on the conversation. Many `at_risk` or `critical` chats on a single line increase the risk of line flagging.
|
|
19
|
+
|
|
20
|
+
Switch on `status` to gate sends or surface line health in your UI — the enum is the long-term contract. Each status carries a `doc_url` that deep-links to the relevant section of the Chat Health guide.
|
|
21
|
+
|
|
22
|
+
See the [Chat Health guide](/guides/chats/chat-health) for what each status means and how to react.
|
|
23
|
+
"""
|
|
24
|
+
|
|
25
|
+
doc_url: str
|
|
26
|
+
"""Deep-link to the relevant section of the Chat Health guide for this status."""
|
|
27
|
+
|
|
28
|
+
status: Literal["healthy", "at_risk", "critical", "opted_out"]
|
|
29
|
+
"""Current health bucket for the chat.
|
|
30
|
+
|
|
31
|
+
See the [Chat Health guide](/guides/chats/chat-health) for what each value means
|
|
32
|
+
and how to react. `doc_url` deep-links to the relevant section.
|
|
33
|
+
"""
|
|
34
|
+
|
|
35
|
+
updated_at: datetime
|
|
36
|
+
"""When this status last changed."""
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
class Chat(BaseModel):
|
|
40
|
+
id: str
|
|
41
|
+
"""Unique identifier for the created chat (UUID)"""
|
|
42
|
+
|
|
43
|
+
display_name: Optional[str] = None
|
|
44
|
+
"""Display name for the chat.
|
|
45
|
+
|
|
46
|
+
Defaults to a comma-separated list of recipient handles. Can be updated for
|
|
47
|
+
group chats.
|
|
48
|
+
"""
|
|
49
|
+
|
|
50
|
+
handles: List[ChatHandle]
|
|
51
|
+
"""List of participants in the chat.
|
|
52
|
+
|
|
53
|
+
Always contains at least two handles (your phone number and the other
|
|
54
|
+
participant).
|
|
55
|
+
"""
|
|
56
|
+
|
|
57
|
+
health_status: ChatHealthStatus
|
|
58
|
+
"""**[BETA]** Current health for a chat.
|
|
59
|
+
|
|
60
|
+
Always present — chats start at `healthy` and may shift based on engagement and
|
|
61
|
+
delivery signals on the conversation. Many `at_risk` or `critical` chats on a
|
|
62
|
+
single line increase the risk of line flagging.
|
|
63
|
+
|
|
64
|
+
Switch on `status` to gate sends or surface line health in your UI — the enum is
|
|
65
|
+
the long-term contract. Each status carries a `doc_url` that deep-links to the
|
|
66
|
+
relevant section of the Chat Health guide.
|
|
67
|
+
|
|
68
|
+
See the [Chat Health guide](/guides/chats/chat-health) for what each status
|
|
69
|
+
means and how to react.
|
|
70
|
+
"""
|
|
71
|
+
|
|
72
|
+
is_group: bool
|
|
73
|
+
"""Whether this is a group chat"""
|
|
74
|
+
|
|
75
|
+
message: SentMessage
|
|
76
|
+
"""A message that was sent (used in CreateChat and SendMessage responses)"""
|
|
77
|
+
|
|
78
|
+
service: ServiceType
|
|
79
|
+
"""Messaging service type"""
|
|
80
|
+
|
|
81
|
+
|
|
82
|
+
class ChatCreateResponse(BaseModel):
|
|
83
|
+
"""Response for creating a new chat with an initial message"""
|
|
84
|
+
|
|
85
|
+
chat: Chat
|
|
@@ -2,13 +2,38 @@
|
|
|
2
2
|
|
|
3
3
|
from typing import List, Optional
|
|
4
4
|
from datetime import datetime
|
|
5
|
+
from typing_extensions import Literal
|
|
5
6
|
|
|
6
7
|
from .._models import BaseModel
|
|
7
8
|
from .shared.chat_handle import ChatHandle
|
|
8
9
|
from .webhook_event_type import WebhookEventType
|
|
9
10
|
from .shared.service_type import ServiceType
|
|
10
11
|
|
|
11
|
-
__all__ = ["ChatCreatedWebhookEvent", "Data"]
|
|
12
|
+
__all__ = ["ChatCreatedWebhookEvent", "Data", "DataHealthStatus"]
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
class DataHealthStatus(BaseModel):
|
|
16
|
+
"""**[BETA]** Current health for a chat.
|
|
17
|
+
|
|
18
|
+
Always present — chats start at `healthy` and may shift based on engagement and delivery signals on the conversation. Many `at_risk` or `critical` chats on a single line increase the risk of line flagging.
|
|
19
|
+
|
|
20
|
+
Switch on `status` to gate sends or surface line health in your UI — the enum is the long-term contract. Each status carries a `doc_url` that deep-links to the relevant section of the Chat Health guide.
|
|
21
|
+
|
|
22
|
+
See the [Chat Health guide](/guides/chats/chat-health) for what each status means and how to react.
|
|
23
|
+
"""
|
|
24
|
+
|
|
25
|
+
doc_url: str
|
|
26
|
+
"""Deep-link to the relevant section of the Chat Health guide for this status."""
|
|
27
|
+
|
|
28
|
+
status: Literal["healthy", "at_risk", "critical", "opted_out"]
|
|
29
|
+
"""Current health bucket for the chat.
|
|
30
|
+
|
|
31
|
+
See the [Chat Health guide](/guides/chats/chat-health) for what each value means
|
|
32
|
+
and how to react. `doc_url` deep-links to the relevant section.
|
|
33
|
+
"""
|
|
34
|
+
|
|
35
|
+
updated_at: datetime
|
|
36
|
+
"""When this status last changed."""
|
|
12
37
|
|
|
13
38
|
|
|
14
39
|
class Data(BaseModel):
|
|
@@ -37,6 +62,21 @@ class Data(BaseModel):
|
|
|
37
62
|
participant).
|
|
38
63
|
"""
|
|
39
64
|
|
|
65
|
+
health_status: DataHealthStatus
|
|
66
|
+
"""**[BETA]** Current health for a chat.
|
|
67
|
+
|
|
68
|
+
Always present — chats start at `healthy` and may shift based on engagement and
|
|
69
|
+
delivery signals on the conversation. Many `at_risk` or `critical` chats on a
|
|
70
|
+
single line increase the risk of line flagging.
|
|
71
|
+
|
|
72
|
+
Switch on `status` to gate sends or surface line health in your UI — the enum is
|
|
73
|
+
the long-term contract. Each status carries a `doc_url` that deep-links to the
|
|
74
|
+
relevant section of the Chat Health guide.
|
|
75
|
+
|
|
76
|
+
See the [Chat Health guide](/guides/chats/chat-health) for what each status
|
|
77
|
+
means and how to react.
|
|
78
|
+
"""
|
|
79
|
+
|
|
40
80
|
is_group: bool
|
|
41
81
|
"""Whether this is a group chat"""
|
|
42
82
|
|
|
@@ -7,7 +7,31 @@ from .._models import BaseModel
|
|
|
7
7
|
from .shared.chat_handle import ChatHandle
|
|
8
8
|
from .webhook_event_type import WebhookEventType
|
|
9
9
|
|
|
10
|
-
__all__ = ["MessageEditedWebhookEvent", "Data", "DataChat", "DataPart"]
|
|
10
|
+
__all__ = ["MessageEditedWebhookEvent", "Data", "DataChat", "DataChatHealthStatus", "DataPart"]
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
class DataChatHealthStatus(BaseModel):
|
|
14
|
+
"""**[BETA]** Current health for a chat.
|
|
15
|
+
|
|
16
|
+
Always present — chats start at `healthy` and may shift based on engagement and delivery signals on the conversation. Many `at_risk` or `critical` chats on a single line increase the risk of line flagging.
|
|
17
|
+
|
|
18
|
+
Switch on `status` to gate sends or surface line health in your UI — the enum is the long-term contract. Each status carries a `doc_url` that deep-links to the relevant section of the Chat Health guide.
|
|
19
|
+
|
|
20
|
+
See the [Chat Health guide](/guides/chats/chat-health) for what each status means and how to react.
|
|
21
|
+
"""
|
|
22
|
+
|
|
23
|
+
doc_url: str
|
|
24
|
+
"""Deep-link to the relevant section of the Chat Health guide for this status."""
|
|
25
|
+
|
|
26
|
+
status: Literal["healthy", "at_risk", "critical", "opted_out"]
|
|
27
|
+
"""Current health bucket for the chat.
|
|
28
|
+
|
|
29
|
+
See the [Chat Health guide](/guides/chats/chat-health) for what each value means
|
|
30
|
+
and how to react. `doc_url` deep-links to the relevant section.
|
|
31
|
+
"""
|
|
32
|
+
|
|
33
|
+
updated_at: datetime
|
|
34
|
+
"""When this status last changed."""
|
|
11
35
|
|
|
12
36
|
|
|
13
37
|
class DataChat(BaseModel):
|
|
@@ -16,6 +40,21 @@ class DataChat(BaseModel):
|
|
|
16
40
|
id: str
|
|
17
41
|
"""Chat identifier"""
|
|
18
42
|
|
|
43
|
+
health_status: DataChatHealthStatus
|
|
44
|
+
"""**[BETA]** Current health for a chat.
|
|
45
|
+
|
|
46
|
+
Always present — chats start at `healthy` and may shift based on engagement and
|
|
47
|
+
delivery signals on the conversation. Many `at_risk` or `critical` chats on a
|
|
48
|
+
single line increase the risk of line flagging.
|
|
49
|
+
|
|
50
|
+
Switch on `status` to gate sends or surface line health in your UI — the enum is
|
|
51
|
+
the long-term contract. Each status carries a `doc_url` that deep-links to the
|
|
52
|
+
relevant section of the Chat Health guide.
|
|
53
|
+
|
|
54
|
+
See the [Chat Health guide](/guides/chats/chat-health) for what each status
|
|
55
|
+
means and how to react.
|
|
56
|
+
"""
|
|
57
|
+
|
|
19
58
|
is_group: bool
|
|
20
59
|
"""Whether this is a group chat"""
|
|
21
60
|
|
|
@@ -12,21 +12,31 @@ from .schemas_message_effect import SchemasMessageEffect
|
|
|
12
12
|
from .schemas_text_part_response import SchemasTextPartResponse
|
|
13
13
|
from .schemas_media_part_response import SchemasMediaPartResponse
|
|
14
14
|
|
|
15
|
-
__all__ = ["MessageEventV2", "Chat", "
|
|
15
|
+
__all__ = ["MessageEventV2", "Chat", "ChatHealthStatus", "Part", "PartSchemasLinkPartResponse", "ReplyTo"]
|
|
16
16
|
|
|
17
17
|
|
|
18
|
-
class
|
|
19
|
-
"""**[BETA]**
|
|
18
|
+
class ChatHealthStatus(BaseModel):
|
|
19
|
+
"""**[BETA]** Current health for a chat.
|
|
20
20
|
|
|
21
|
-
|
|
22
|
-
|
|
21
|
+
Always present — chats start at `healthy` and may shift based on engagement and delivery signals on the conversation. Many `at_risk` or `critical` chats on a single line increase the risk of line flagging.
|
|
22
|
+
|
|
23
|
+
Switch on `status` to gate sends or surface line health in your UI — the enum is the long-term contract. Each status carries a `doc_url` that deep-links to the relevant section of the Chat Health guide.
|
|
24
|
+
|
|
25
|
+
See the [Chat Health guide](/guides/chats/chat-health) for what each status means and how to react.
|
|
23
26
|
"""
|
|
24
27
|
|
|
25
|
-
|
|
26
|
-
"""
|
|
28
|
+
doc_url: str
|
|
29
|
+
"""Deep-link to the relevant section of the Chat Health guide for this status."""
|
|
27
30
|
|
|
28
|
-
|
|
29
|
-
"""
|
|
31
|
+
status: Literal["healthy", "at_risk", "critical", "opted_out"]
|
|
32
|
+
"""Current health bucket for the chat.
|
|
33
|
+
|
|
34
|
+
See the [Chat Health guide](/guides/chats/chat-health) for what each value means
|
|
35
|
+
and how to react. `doc_url` deep-links to the relevant section.
|
|
36
|
+
"""
|
|
37
|
+
|
|
38
|
+
updated_at: datetime
|
|
39
|
+
"""When this status last changed."""
|
|
30
40
|
|
|
31
41
|
|
|
32
42
|
class Chat(BaseModel):
|
|
@@ -35,11 +45,19 @@ class Chat(BaseModel):
|
|
|
35
45
|
id: str
|
|
36
46
|
"""Chat identifier"""
|
|
37
47
|
|
|
38
|
-
|
|
39
|
-
"""**[BETA]**
|
|
48
|
+
health_status: ChatHealthStatus
|
|
49
|
+
"""**[BETA]** Current health for a chat.
|
|
50
|
+
|
|
51
|
+
Always present — chats start at `healthy` and may shift based on engagement and
|
|
52
|
+
delivery signals on the conversation. Many `at_risk` or `critical` chats on a
|
|
53
|
+
single line increase the risk of line flagging.
|
|
54
|
+
|
|
55
|
+
Switch on `status` to gate sends or surface line health in your UI — the enum is
|
|
56
|
+
the long-term contract. Each status carries a `doc_url` that deep-links to the
|
|
57
|
+
relevant section of the Chat Health guide.
|
|
40
58
|
|
|
41
|
-
|
|
42
|
-
|
|
59
|
+
See the [Chat Health guide](/guides/chats/chat-health) for what each status
|
|
60
|
+
means and how to react.
|
|
43
61
|
"""
|
|
44
62
|
|
|
45
63
|
is_group: Optional[bool] = None
|
|
@@ -24,7 +24,7 @@ class TestContactCard:
|
|
|
24
24
|
@parametrize
|
|
25
25
|
def test_method_create(self, client: LinqAPIV3) -> None:
|
|
26
26
|
contact_card = client.contact_card.create(
|
|
27
|
-
first_name="
|
|
27
|
+
first_name="Acme",
|
|
28
28
|
phone_number="+15551234567",
|
|
29
29
|
)
|
|
30
30
|
assert_matches_type(SetContactCard, contact_card, path=["response"])
|
|
@@ -33,10 +33,10 @@ class TestContactCard:
|
|
|
33
33
|
@parametrize
|
|
34
34
|
def test_method_create_with_all_params(self, client: LinqAPIV3) -> None:
|
|
35
35
|
contact_card = client.contact_card.create(
|
|
36
|
-
first_name="
|
|
36
|
+
first_name="Acme",
|
|
37
37
|
phone_number="+15551234567",
|
|
38
38
|
image_url="https://cdn.linqapp.com/contact-card/example.jpg",
|
|
39
|
-
last_name="
|
|
39
|
+
last_name="Support",
|
|
40
40
|
)
|
|
41
41
|
assert_matches_type(SetContactCard, contact_card, path=["response"])
|
|
42
42
|
|
|
@@ -44,7 +44,7 @@ class TestContactCard:
|
|
|
44
44
|
@parametrize
|
|
45
45
|
def test_raw_response_create(self, client: LinqAPIV3) -> None:
|
|
46
46
|
response = client.contact_card.with_raw_response.create(
|
|
47
|
-
first_name="
|
|
47
|
+
first_name="Acme",
|
|
48
48
|
phone_number="+15551234567",
|
|
49
49
|
)
|
|
50
50
|
|
|
@@ -57,7 +57,7 @@ class TestContactCard:
|
|
|
57
57
|
@parametrize
|
|
58
58
|
def test_streaming_response_create(self, client: LinqAPIV3) -> None:
|
|
59
59
|
with client.contact_card.with_streaming_response.create(
|
|
60
|
-
first_name="
|
|
60
|
+
first_name="Acme",
|
|
61
61
|
phone_number="+15551234567",
|
|
62
62
|
) as response:
|
|
63
63
|
assert not response.is_closed
|
|
@@ -159,7 +159,7 @@ class TestAsyncContactCard:
|
|
|
159
159
|
@parametrize
|
|
160
160
|
async def test_method_create(self, async_client: AsyncLinqAPIV3) -> None:
|
|
161
161
|
contact_card = await async_client.contact_card.create(
|
|
162
|
-
first_name="
|
|
162
|
+
first_name="Acme",
|
|
163
163
|
phone_number="+15551234567",
|
|
164
164
|
)
|
|
165
165
|
assert_matches_type(SetContactCard, contact_card, path=["response"])
|
|
@@ -168,10 +168,10 @@ class TestAsyncContactCard:
|
|
|
168
168
|
@parametrize
|
|
169
169
|
async def test_method_create_with_all_params(self, async_client: AsyncLinqAPIV3) -> None:
|
|
170
170
|
contact_card = await async_client.contact_card.create(
|
|
171
|
-
first_name="
|
|
171
|
+
first_name="Acme",
|
|
172
172
|
phone_number="+15551234567",
|
|
173
173
|
image_url="https://cdn.linqapp.com/contact-card/example.jpg",
|
|
174
|
-
last_name="
|
|
174
|
+
last_name="Support",
|
|
175
175
|
)
|
|
176
176
|
assert_matches_type(SetContactCard, contact_card, path=["response"])
|
|
177
177
|
|
|
@@ -179,7 +179,7 @@ class TestAsyncContactCard:
|
|
|
179
179
|
@parametrize
|
|
180
180
|
async def test_raw_response_create(self, async_client: AsyncLinqAPIV3) -> None:
|
|
181
181
|
response = await async_client.contact_card.with_raw_response.create(
|
|
182
|
-
first_name="
|
|
182
|
+
first_name="Acme",
|
|
183
183
|
phone_number="+15551234567",
|
|
184
184
|
)
|
|
185
185
|
|
|
@@ -192,7 +192,7 @@ class TestAsyncContactCard:
|
|
|
192
192
|
@parametrize
|
|
193
193
|
async def test_streaming_response_create(self, async_client: AsyncLinqAPIV3) -> None:
|
|
194
194
|
async with async_client.contact_card.with_streaming_response.create(
|
|
195
|
-
first_name="
|
|
195
|
+
first_name="Acme",
|
|
196
196
|
phone_number="+15551234567",
|
|
197
197
|
) as response:
|
|
198
198
|
assert not response.is_closed
|
|
@@ -1,65 +0,0 @@
|
|
|
1
|
-
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
-
|
|
3
|
-
from typing import List, Optional
|
|
4
|
-
from datetime import datetime
|
|
5
|
-
|
|
6
|
-
from .._models import BaseModel
|
|
7
|
-
from .shared.chat_handle import ChatHandle
|
|
8
|
-
from .shared.service_type import ServiceType
|
|
9
|
-
|
|
10
|
-
__all__ = ["Chat", "HealthScore"]
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
class HealthScore(BaseModel):
|
|
14
|
-
"""**[BETA]** Health assessment for a chat.
|
|
15
|
-
|
|
16
|
-
Higher `score` is healthier.
|
|
17
|
-
`null` when a score isn't available yet. Scoring may change during beta.
|
|
18
|
-
"""
|
|
19
|
-
|
|
20
|
-
reason: str
|
|
21
|
-
"""Short summary of what's affecting the score. Empty when the score is 100."""
|
|
22
|
-
|
|
23
|
-
score: int
|
|
24
|
-
"""Health score from 0 to 100. Higher is healthier."""
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
class Chat(BaseModel):
|
|
28
|
-
id: str
|
|
29
|
-
"""Unique identifier for the chat"""
|
|
30
|
-
|
|
31
|
-
created_at: datetime
|
|
32
|
-
"""When the chat was created"""
|
|
33
|
-
|
|
34
|
-
display_name: Optional[str] = None
|
|
35
|
-
"""Display name for the chat.
|
|
36
|
-
|
|
37
|
-
Defaults to a comma-separated list of recipient handles. Can be updated for
|
|
38
|
-
group chats.
|
|
39
|
-
"""
|
|
40
|
-
|
|
41
|
-
handles: List[ChatHandle]
|
|
42
|
-
"""List of chat participants with full handle details.
|
|
43
|
-
|
|
44
|
-
Always contains at least two handles (your phone number and the other
|
|
45
|
-
participant).
|
|
46
|
-
"""
|
|
47
|
-
|
|
48
|
-
is_archived: bool
|
|
49
|
-
"""Whether the chat is archived"""
|
|
50
|
-
|
|
51
|
-
is_group: bool
|
|
52
|
-
"""Whether this is a group chat"""
|
|
53
|
-
|
|
54
|
-
updated_at: datetime
|
|
55
|
-
"""When the chat was last updated"""
|
|
56
|
-
|
|
57
|
-
health_score: Optional[HealthScore] = None
|
|
58
|
-
"""**[BETA]** Health assessment for a chat.
|
|
59
|
-
|
|
60
|
-
Higher `score` is healthier. `null` when a score isn't available yet. Scoring
|
|
61
|
-
may change during beta.
|
|
62
|
-
"""
|
|
63
|
-
|
|
64
|
-
service: Optional[ServiceType] = None
|
|
65
|
-
"""Messaging service type"""
|
|
@@ -1,65 +0,0 @@
|
|
|
1
|
-
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
-
|
|
3
|
-
from typing import List, Optional
|
|
4
|
-
|
|
5
|
-
from .._models import BaseModel
|
|
6
|
-
from .chats.sent_message import SentMessage
|
|
7
|
-
from .shared.chat_handle import ChatHandle
|
|
8
|
-
from .shared.service_type import ServiceType
|
|
9
|
-
|
|
10
|
-
__all__ = ["ChatCreateResponse", "Chat", "ChatHealthScore"]
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
class ChatHealthScore(BaseModel):
|
|
14
|
-
"""**[BETA]** Health assessment for a chat.
|
|
15
|
-
|
|
16
|
-
Higher `score` is healthier.
|
|
17
|
-
`null` when a score isn't available yet. Scoring may change during beta.
|
|
18
|
-
"""
|
|
19
|
-
|
|
20
|
-
reason: str
|
|
21
|
-
"""Short summary of what's affecting the score. Empty when the score is 100."""
|
|
22
|
-
|
|
23
|
-
score: int
|
|
24
|
-
"""Health score from 0 to 100. Higher is healthier."""
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
class Chat(BaseModel):
|
|
28
|
-
id: str
|
|
29
|
-
"""Unique identifier for the created chat (UUID)"""
|
|
30
|
-
|
|
31
|
-
display_name: Optional[str] = None
|
|
32
|
-
"""Display name for the chat.
|
|
33
|
-
|
|
34
|
-
Defaults to a comma-separated list of recipient handles. Can be updated for
|
|
35
|
-
group chats.
|
|
36
|
-
"""
|
|
37
|
-
|
|
38
|
-
handles: List[ChatHandle]
|
|
39
|
-
"""List of participants in the chat.
|
|
40
|
-
|
|
41
|
-
Always contains at least two handles (your phone number and the other
|
|
42
|
-
participant).
|
|
43
|
-
"""
|
|
44
|
-
|
|
45
|
-
is_group: bool
|
|
46
|
-
"""Whether this is a group chat"""
|
|
47
|
-
|
|
48
|
-
message: SentMessage
|
|
49
|
-
"""A message that was sent (used in CreateChat and SendMessage responses)"""
|
|
50
|
-
|
|
51
|
-
service: ServiceType
|
|
52
|
-
"""Messaging service type"""
|
|
53
|
-
|
|
54
|
-
health_score: Optional[ChatHealthScore] = None
|
|
55
|
-
"""**[BETA]** Health assessment for a chat.
|
|
56
|
-
|
|
57
|
-
Higher `score` is healthier. `null` when a score isn't available yet. Scoring
|
|
58
|
-
may change during beta.
|
|
59
|
-
"""
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
class ChatCreateResponse(BaseModel):
|
|
63
|
-
"""Response for creating a new chat with an initial message"""
|
|
64
|
-
|
|
65
|
-
chat: Chat
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|