dial-agentframework 0.16.0__tar.gz → 0.17.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.
@@ -1,10 +1,10 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: dial-agentframework
3
- Version: 0.16.0
3
+ Version: 0.17.0
4
4
  Summary: Official Dial tools for the Microsoft Agent Framework — phone numbers, SMS, OTP, and voice calls
5
5
  Requires-Python: >=3.11
6
6
  Requires-Dist: agent-framework-core>=1.0
7
- Requires-Dist: dial-sdk>=0.22.0
7
+ Requires-Dist: dial-sdk>=0.26.0
8
8
  Description-Content-Type: text/markdown
9
9
 
10
10
  # dial-agentframework
@@ -114,7 +114,8 @@ def set_number_properties_tool(client: DialClient) -> FunctionTool:
114
114
  name="set_number_properties",
115
115
  description=(
116
116
  "Update a Dial phone number's properties: its inbound instruction (the system "
117
- "prompt its AI voice agent uses on inbound calls) and/or its nickname. "
117
+ "prompt its AI voice agent uses on inbound calls), its nickname, and/or whether "
118
+ "calling is switched on at all (calling_enabled). "
118
119
  "On iMessage numbers you can also set the display identity (first/last name "
119
120
  "and avatar photo) shown to recipients. Provide at least one."
120
121
  ),
@@ -164,6 +165,14 @@ def set_number_properties_tool(client: DialClient) -> FunctionTool:
164
165
  "as the number's iMessage display photo. iMessage numbers only (400 "
165
166
  "otherwise). The photo can be replaced but not removed.",
166
167
  ] = None,
168
+ calling_enabled: Annotated[
169
+ Optional[bool],
170
+ "Switch calling on or off for this number, in both directions. False stops "
171
+ "inbound calls from being connected (the caller is never answered) and makes "
172
+ "place_call from this number fail with calling_disabled (409); messaging on "
173
+ "the number is unaffected. Takes effect on the next call — a call already in "
174
+ "progress is not ended. Omit to leave it unchanged.",
175
+ ] = None,
167
176
  ) -> str:
168
177
  kwargs: dict = {}
169
178
  if inbound_instruction is not None:
@@ -187,15 +196,20 @@ def set_number_properties_tool(client: DialClient) -> FunctionTool:
187
196
  kwargs["last_name"] = last_name
188
197
  if avatar_url is not None:
189
198
  kwargs["avatar"] = avatar_url
199
+ # False is a real value here; only None means "leave unchanged".
200
+ if calling_enabled is not None:
201
+ kwargs["calling_enabled"] = calling_enabled
190
202
  if not kwargs:
191
203
  return (
192
204
  "Provide at least one of inbound_instruction, inbound_voice_gender, "
193
- "inbound_language, nickname, max_call_duration_seconds, first_name, "
194
- "last_name, or avatar_url."
205
+ "inbound_language, nickname, max_call_duration_seconds, calling_enabled, "
206
+ "first_name, last_name, or avatar_url."
195
207
  )
196
208
  number = await client.set_number_properties(number_id, **kwargs)
197
209
  nick = f' | nickname: "{number.nickname}"' if number.nickname else ""
198
- return f"Updated {number.number} (id: {number.id}){nick}"
210
+ # Reported only when off, so a messaging-only line isn't a silent surprise.
211
+ calling = "" if number.calling_enabled else " | calling: off (messaging only)"
212
+ return f"Updated {number.number} (id: {number.id}){nick}{calling}"
199
213
 
200
214
  return set_number_properties
201
215
 
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "dial-agentframework"
3
- version = "0.16.0"
3
+ version = "0.17.0"
4
4
  description = "Official Dial tools for the Microsoft Agent Framework — phone numbers, SMS, OTP, and voice calls"
5
5
  readme = "README.md"
6
6
  requires-python = ">=3.11"
@@ -8,7 +8,7 @@ dependencies = [
8
8
  # Core has `tool` + `FunctionTool` (all this package needs). Chat clients ship in
9
9
  # separate integration packages (agent-framework-openai, …) the user installs.
10
10
  "agent-framework-core>=1.0",
11
- "dial-sdk>=0.22.0",
11
+ "dial-sdk>=0.26.0",
12
12
  ]
13
13
 
14
14
  [tool.uv.sources]
@@ -33,6 +33,7 @@ class _FakeNumber:
33
33
  number = "+14155550000"
34
34
  country = "US"
35
35
  nickname = None
36
+ calling_enabled = True
36
37
 
37
38
 
38
39
  class FakeClient:
@@ -345,7 +345,7 @@ wheels = [
345
345
 
346
346
  [[package]]
347
347
  name = "dial-agentframework"
348
- version = "0.16.0"
348
+ version = "0.17.0"
349
349
  source = { editable = "." }
350
350
  dependencies = [
351
351
  { name = "agent-framework-core" },
@@ -368,7 +368,7 @@ dev = [{ name = "pytest", specifier = ">=8" }]
368
368
 
369
369
  [[package]]
370
370
  name = "dial-sdk"
371
- version = "0.22.0"
371
+ version = "0.26.0"
372
372
  source = { editable = "../sdk-python" }
373
373
  dependencies = [
374
374
  { name = "httpx" },