Skip to content

Commit 5d54468

Browse files
feat: add conversation type support for Twilio SMS chat transport
This update adds conversation type support to TwilioSmsChatTransport and introduces a dial timeout option for TransferPlan. These enhancements provide better control over chat conversation types and transfer call behavior. Key changes: - Add TwilioSmsChatTransportConversationType enum with "chat" literal type - Add conversation_type field to TwilioSmsChatTransport to specify call type - Add dial_timeout field to TransferPlan for SIP DIAL operation timeout control - Update User-Agent header to use version placeholder instead of hardcoded value - Export new conversation type in module __all__ lists 🌿 Generated with Fern
1 parent a79a4ce commit 5d54468

File tree

8 files changed

+44
-3
lines changed

8 files changed

+44
-3
lines changed

changelog.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
## 1.9.0 - 2025-11-19
2+
* feat: add conversation type support for Twilio SMS chat transport
3+
* This update adds conversation type support to TwilioSmsChatTransport and introduces a dial timeout option for TransferPlan. These enhancements provide better control over chat conversation types and transfer call behavior.
4+
* Key changes:
5+
* Add TwilioSmsChatTransportConversationType enum with "chat" literal type
6+
* Add conversation_type field to TwilioSmsChatTransport to specify call type
7+
* Add dial_timeout field to TransferPlan for SIP DIAL operation timeout control
8+
* Update User-Agent header to use version placeholder instead of hardcoded value
9+
* Export new conversation type in module __all__ lists
10+
* 🌿 Generated with Fern
11+

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ name = "vapi_server_sdk"
33

44
[tool.poetry]
55
name = "vapi_server_sdk"
6-
version = "1.8.0"
6+
version = "1.9.0"
77
description = ""
88
readme = "README.md"
99
authors = []

src/vapi/__init__.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1559,6 +1559,7 @@
15591559
TwilioPhoneNumberHooksItem,
15601560
TwilioPhoneNumberStatus,
15611561
TwilioSmsChatTransport,
1562+
TwilioSmsChatTransportConversationType,
15621563
TwilioSmsChatTransportType,
15631564
TwilioVoicemailDetectionPlan,
15641565
TwilioVoicemailDetectionPlanProvider,
@@ -3533,6 +3534,7 @@
35333534
"TwilioPhoneNumberHooksItem": ".types",
35343535
"TwilioPhoneNumberStatus": ".types",
35353536
"TwilioSmsChatTransport": ".types",
3537+
"TwilioSmsChatTransportConversationType": ".types",
35363538
"TwilioSmsChatTransportType": ".types",
35373539
"TwilioVoicemailDetectionPlan": ".types",
35383540
"TwilioVoicemailDetectionPlanProvider": ".types",
@@ -5461,6 +5463,7 @@ def __dir__():
54615463
"TwilioPhoneNumberHooksItem",
54625464
"TwilioPhoneNumberStatus",
54635465
"TwilioSmsChatTransport",
5466+
"TwilioSmsChatTransportConversationType",
54645467
"TwilioSmsChatTransportType",
54655468
"TwilioVoicemailDetectionPlan",
54665469
"TwilioVoicemailDetectionPlanProvider",

src/vapi/core/client_wrapper.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,10 +22,10 @@ def __init__(
2222

2323
def get_headers(self) -> typing.Dict[str, str]:
2424
headers: typing.Dict[str, str] = {
25-
"User-Agent": "vapi_server_sdk/1.8.0",
25+
"User-Agent": "vapi_server_sdk/AUTO",
2626
"X-Fern-Language": "Python",
2727
"X-Fern-SDK-Name": "vapi_server_sdk",
28-
"X-Fern-SDK-Version": "1.8.0",
28+
"X-Fern-SDK-Version": "1.9.0",
2929
**(self.get_custom_headers() or {}),
3030
}
3131
headers["Authorization"] = f"Bearer {self._get_token()}"

src/vapi/types/__init__.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1638,6 +1638,7 @@
16381638
from .twilio_phone_number_hooks_item import TwilioPhoneNumberHooksItem
16391639
from .twilio_phone_number_status import TwilioPhoneNumberStatus
16401640
from .twilio_sms_chat_transport import TwilioSmsChatTransport
1641+
from .twilio_sms_chat_transport_conversation_type import TwilioSmsChatTransportConversationType
16411642
from .twilio_sms_chat_transport_type import TwilioSmsChatTransportType
16421643
from .twilio_voicemail_detection_plan import TwilioVoicemailDetectionPlan
16431644
from .twilio_voicemail_detection_plan_provider import TwilioVoicemailDetectionPlanProvider
@@ -3465,6 +3466,7 @@
34653466
"TwilioPhoneNumberHooksItem": ".twilio_phone_number_hooks_item",
34663467
"TwilioPhoneNumberStatus": ".twilio_phone_number_status",
34673468
"TwilioSmsChatTransport": ".twilio_sms_chat_transport",
3469+
"TwilioSmsChatTransportConversationType": ".twilio_sms_chat_transport_conversation_type",
34683470
"TwilioSmsChatTransportType": ".twilio_sms_chat_transport_type",
34693471
"TwilioVoicemailDetectionPlan": ".twilio_voicemail_detection_plan",
34703472
"TwilioVoicemailDetectionPlanProvider": ".twilio_voicemail_detection_plan_provider",
@@ -5300,6 +5302,7 @@ def __dir__():
53005302
"TwilioPhoneNumberHooksItem",
53015303
"TwilioPhoneNumberStatus",
53025304
"TwilioSmsChatTransport",
5305+
"TwilioSmsChatTransportConversationType",
53035306
"TwilioSmsChatTransportType",
53045307
"TwilioVoicemailDetectionPlan",
53055308
"TwilioVoicemailDetectionPlanProvider",

src/vapi/types/transfer_plan.py

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,17 @@ class TransferPlan(UncheckedBaseModel):
5757
- 'dial': Uses SIP DIAL to transfer the call
5858
"""
5959

60+
dial_timeout: typing_extensions.Annotated[typing.Optional[float], FieldMetadata(alias="dialTimeout")] = (
61+
pydantic.Field(default=None)
62+
)
63+
"""
64+
This sets the timeout for the dial operation in seconds. This is the duration the call will ring before timing out.
65+
66+
Only applicable when `sipVerb='dial'`. Not applicable for SIP REFER or BYE.
67+
68+
@default 60
69+
"""
70+
6071
hold_audio_url: typing_extensions.Annotated[typing.Optional[str], FieldMetadata(alias="holdAudioUrl")] = (
6172
pydantic.Field(default=None)
6273
)

src/vapi/types/twilio_sms_chat_transport.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,10 +10,18 @@
1010
from ..core.serialization import FieldMetadata
1111
from ..core.unchecked_base_model import UncheckedBaseModel
1212
from .create_customer_dto import CreateCustomerDto
13+
from .twilio_sms_chat_transport_conversation_type import TwilioSmsChatTransportConversationType
1314
from .twilio_sms_chat_transport_type import TwilioSmsChatTransportType
1415

1516

1617
class TwilioSmsChatTransport(UncheckedBaseModel):
18+
conversation_type: typing_extensions.Annotated[
19+
typing.Optional[TwilioSmsChatTransportConversationType], FieldMetadata(alias="conversationType")
20+
] = pydantic.Field(default=None)
21+
"""
22+
This is the conversation type of the call (ie, voice or chat).
23+
"""
24+
1725
phone_number_id: typing_extensions.Annotated[typing.Optional[str], FieldMetadata(alias="phoneNumberId")] = (
1826
pydantic.Field(default=None)
1927
)
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
# This file was auto-generated by Fern from our API Definition.
2+
3+
import typing
4+
5+
TwilioSmsChatTransportConversationType = typing.Union[typing.Literal["chat"], typing.Any]

0 commit comments

Comments
 (0)