microsoft-agents-hosting-dialogs 1.2.0.dev10__tar.gz → 1.4.0.dev13__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.
- {microsoft_agents_hosting_dialogs-1.2.0.dev10 → microsoft_agents_hosting_dialogs-1.4.0.dev13}/PKG-INFO +66 -29
- {microsoft_agents_hosting_dialogs-1.2.0.dev10 → microsoft_agents_hosting_dialogs-1.4.0.dev13}/microsoft_agents/hosting/dialogs/dialog_extensions.py +6 -19
- {microsoft_agents_hosting_dialogs-1.2.0.dev10 → microsoft_agents_hosting_dialogs-1.4.0.dev13}/microsoft_agents/hosting/dialogs/dialog_manager.py +6 -29
- {microsoft_agents_hosting_dialogs-1.2.0.dev10 → microsoft_agents_hosting_dialogs-1.4.0.dev13}/microsoft_agents/hosting/dialogs/prompts/oauth_prompt.py +16 -17
- {microsoft_agents_hosting_dialogs-1.2.0.dev10 → microsoft_agents_hosting_dialogs-1.4.0.dev13}/microsoft_agents_hosting_dialogs.egg-info/PKG-INFO +66 -29
- {microsoft_agents_hosting_dialogs-1.2.0.dev10 → microsoft_agents_hosting_dialogs-1.4.0.dev13}/microsoft_agents_hosting_dialogs.egg-info/requires.txt +1 -1
- microsoft_agents_hosting_dialogs-1.4.0.dev13/readme.md +122 -0
- microsoft_agents_hosting_dialogs-1.2.0.dev10/readme.md +0 -85
- {microsoft_agents_hosting_dialogs-1.2.0.dev10 → microsoft_agents_hosting_dialogs-1.4.0.dev13}/LICENSE +0 -0
- {microsoft_agents_hosting_dialogs-1.2.0.dev10 → microsoft_agents_hosting_dialogs-1.4.0.dev13}/microsoft_agents/hosting/dialogs/__init__.py +0 -0
- {microsoft_agents_hosting_dialogs-1.2.0.dev10 → microsoft_agents_hosting_dialogs-1.4.0.dev13}/microsoft_agents/hosting/dialogs/_component_registration.py +0 -0
- {microsoft_agents_hosting_dialogs-1.2.0.dev10 → microsoft_agents_hosting_dialogs-1.4.0.dev13}/microsoft_agents/hosting/dialogs/_telemetry_client.py +0 -0
- {microsoft_agents_hosting_dialogs-1.2.0.dev10 → microsoft_agents_hosting_dialogs-1.4.0.dev13}/microsoft_agents/hosting/dialogs/choices/__init__.py +0 -0
- {microsoft_agents_hosting_dialogs-1.2.0.dev10 → microsoft_agents_hosting_dialogs-1.4.0.dev13}/microsoft_agents/hosting/dialogs/choices/channel.py +0 -0
- {microsoft_agents_hosting_dialogs-1.2.0.dev10 → microsoft_agents_hosting_dialogs-1.4.0.dev13}/microsoft_agents/hosting/dialogs/choices/choice_factory.py +0 -0
- {microsoft_agents_hosting_dialogs-1.2.0.dev10 → microsoft_agents_hosting_dialogs-1.4.0.dev13}/microsoft_agents/hosting/dialogs/choices/choice_recognizer.py +0 -0
- {microsoft_agents_hosting_dialogs-1.2.0.dev10 → microsoft_agents_hosting_dialogs-1.4.0.dev13}/microsoft_agents/hosting/dialogs/choices/find.py +0 -0
- {microsoft_agents_hosting_dialogs-1.2.0.dev10 → microsoft_agents_hosting_dialogs-1.4.0.dev13}/microsoft_agents/hosting/dialogs/choices/models/__init__.py +0 -0
- {microsoft_agents_hosting_dialogs-1.2.0.dev10 → microsoft_agents_hosting_dialogs-1.4.0.dev13}/microsoft_agents/hosting/dialogs/choices/models/choice.py +0 -0
- {microsoft_agents_hosting_dialogs-1.2.0.dev10 → microsoft_agents_hosting_dialogs-1.4.0.dev13}/microsoft_agents/hosting/dialogs/choices/models/choice_factory_options.py +0 -0
- {microsoft_agents_hosting_dialogs-1.2.0.dev10 → microsoft_agents_hosting_dialogs-1.4.0.dev13}/microsoft_agents/hosting/dialogs/choices/models/find_choices_options.py +0 -0
- {microsoft_agents_hosting_dialogs-1.2.0.dev10 → microsoft_agents_hosting_dialogs-1.4.0.dev13}/microsoft_agents/hosting/dialogs/choices/models/find_values_options.py +0 -0
- {microsoft_agents_hosting_dialogs-1.2.0.dev10 → microsoft_agents_hosting_dialogs-1.4.0.dev13}/microsoft_agents/hosting/dialogs/choices/models/found_choice.py +0 -0
- {microsoft_agents_hosting_dialogs-1.2.0.dev10 → microsoft_agents_hosting_dialogs-1.4.0.dev13}/microsoft_agents/hosting/dialogs/choices/models/found_value.py +0 -0
- {microsoft_agents_hosting_dialogs-1.2.0.dev10 → microsoft_agents_hosting_dialogs-1.4.0.dev13}/microsoft_agents/hosting/dialogs/choices/models/list_style.py +0 -0
- {microsoft_agents_hosting_dialogs-1.2.0.dev10 → microsoft_agents_hosting_dialogs-1.4.0.dev13}/microsoft_agents/hosting/dialogs/choices/models/model_result.py +0 -0
- {microsoft_agents_hosting_dialogs-1.2.0.dev10 → microsoft_agents_hosting_dialogs-1.4.0.dev13}/microsoft_agents/hosting/dialogs/choices/models/sorted_value.py +0 -0
- {microsoft_agents_hosting_dialogs-1.2.0.dev10 → microsoft_agents_hosting_dialogs-1.4.0.dev13}/microsoft_agents/hosting/dialogs/choices/models/token.py +0 -0
- {microsoft_agents_hosting_dialogs-1.2.0.dev10 → microsoft_agents_hosting_dialogs-1.4.0.dev13}/microsoft_agents/hosting/dialogs/choices/tokenizer.py +0 -0
- {microsoft_agents_hosting_dialogs-1.2.0.dev10 → microsoft_agents_hosting_dialogs-1.4.0.dev13}/microsoft_agents/hosting/dialogs/component_dialog.py +0 -0
- {microsoft_agents_hosting_dialogs-1.2.0.dev10 → microsoft_agents_hosting_dialogs-1.4.0.dev13}/microsoft_agents/hosting/dialogs/dialog.py +0 -0
- {microsoft_agents_hosting_dialogs-1.2.0.dev10 → microsoft_agents_hosting_dialogs-1.4.0.dev13}/microsoft_agents/hosting/dialogs/dialog_component_registration.py +0 -0
- {microsoft_agents_hosting_dialogs-1.2.0.dev10 → microsoft_agents_hosting_dialogs-1.4.0.dev13}/microsoft_agents/hosting/dialogs/dialog_container.py +0 -0
- {microsoft_agents_hosting_dialogs-1.2.0.dev10 → microsoft_agents_hosting_dialogs-1.4.0.dev13}/microsoft_agents/hosting/dialogs/dialog_context.py +0 -0
- {microsoft_agents_hosting_dialogs-1.2.0.dev10 → microsoft_agents_hosting_dialogs-1.4.0.dev13}/microsoft_agents/hosting/dialogs/dialog_manager_result.py +0 -0
- {microsoft_agents_hosting_dialogs-1.2.0.dev10 → microsoft_agents_hosting_dialogs-1.4.0.dev13}/microsoft_agents/hosting/dialogs/dialog_set.py +0 -0
- {microsoft_agents_hosting_dialogs-1.2.0.dev10 → microsoft_agents_hosting_dialogs-1.4.0.dev13}/microsoft_agents/hosting/dialogs/dialog_state.py +0 -0
- {microsoft_agents_hosting_dialogs-1.2.0.dev10 → microsoft_agents_hosting_dialogs-1.4.0.dev13}/microsoft_agents/hosting/dialogs/memory/__init__.py +0 -0
- {microsoft_agents_hosting_dialogs-1.2.0.dev10 → microsoft_agents_hosting_dialogs-1.4.0.dev13}/microsoft_agents/hosting/dialogs/memory/component_memory_scopes_base.py +0 -0
- {microsoft_agents_hosting_dialogs-1.2.0.dev10 → microsoft_agents_hosting_dialogs-1.4.0.dev13}/microsoft_agents/hosting/dialogs/memory/component_path_resolvers_base.py +0 -0
- {microsoft_agents_hosting_dialogs-1.2.0.dev10 → microsoft_agents_hosting_dialogs-1.4.0.dev13}/microsoft_agents/hosting/dialogs/memory/dialog_path.py +0 -0
- {microsoft_agents_hosting_dialogs-1.2.0.dev10 → microsoft_agents_hosting_dialogs-1.4.0.dev13}/microsoft_agents/hosting/dialogs/memory/dialog_state_manager.py +0 -0
- {microsoft_agents_hosting_dialogs-1.2.0.dev10 → microsoft_agents_hosting_dialogs-1.4.0.dev13}/microsoft_agents/hosting/dialogs/memory/dialog_state_manager_configuration.py +0 -0
- {microsoft_agents_hosting_dialogs-1.2.0.dev10 → microsoft_agents_hosting_dialogs-1.4.0.dev13}/microsoft_agents/hosting/dialogs/memory/path_resolver_base.py +0 -0
- {microsoft_agents_hosting_dialogs-1.2.0.dev10 → microsoft_agents_hosting_dialogs-1.4.0.dev13}/microsoft_agents/hosting/dialogs/memory/path_resolvers/__init__.py +0 -0
- {microsoft_agents_hosting_dialogs-1.2.0.dev10 → microsoft_agents_hosting_dialogs-1.4.0.dev13}/microsoft_agents/hosting/dialogs/memory/path_resolvers/alias_path_resolver.py +0 -0
- {microsoft_agents_hosting_dialogs-1.2.0.dev10 → microsoft_agents_hosting_dialogs-1.4.0.dev13}/microsoft_agents/hosting/dialogs/memory/path_resolvers/at_at_path_resolver.py +0 -0
- {microsoft_agents_hosting_dialogs-1.2.0.dev10 → microsoft_agents_hosting_dialogs-1.4.0.dev13}/microsoft_agents/hosting/dialogs/memory/path_resolvers/at_path_resolver.py +0 -0
- {microsoft_agents_hosting_dialogs-1.2.0.dev10 → microsoft_agents_hosting_dialogs-1.4.0.dev13}/microsoft_agents/hosting/dialogs/memory/path_resolvers/dollar_path_resolver.py +0 -0
- {microsoft_agents_hosting_dialogs-1.2.0.dev10 → microsoft_agents_hosting_dialogs-1.4.0.dev13}/microsoft_agents/hosting/dialogs/memory/path_resolvers/hash_path_resolver.py +0 -0
- {microsoft_agents_hosting_dialogs-1.2.0.dev10 → microsoft_agents_hosting_dialogs-1.4.0.dev13}/microsoft_agents/hosting/dialogs/memory/path_resolvers/percent_path_resolver.py +0 -0
- {microsoft_agents_hosting_dialogs-1.2.0.dev10 → microsoft_agents_hosting_dialogs-1.4.0.dev13}/microsoft_agents/hosting/dialogs/memory/scope_path.py +0 -0
- {microsoft_agents_hosting_dialogs-1.2.0.dev10 → microsoft_agents_hosting_dialogs-1.4.0.dev13}/microsoft_agents/hosting/dialogs/memory/scopes/__init__.py +0 -0
- {microsoft_agents_hosting_dialogs-1.2.0.dev10 → microsoft_agents_hosting_dialogs-1.4.0.dev13}/microsoft_agents/hosting/dialogs/memory/scopes/bot_state_memory_scope.py +0 -0
- {microsoft_agents_hosting_dialogs-1.2.0.dev10 → microsoft_agents_hosting_dialogs-1.4.0.dev13}/microsoft_agents/hosting/dialogs/memory/scopes/class_memory_scope.py +0 -0
- {microsoft_agents_hosting_dialogs-1.2.0.dev10 → microsoft_agents_hosting_dialogs-1.4.0.dev13}/microsoft_agents/hosting/dialogs/memory/scopes/conversation_memory_scope.py +0 -0
- {microsoft_agents_hosting_dialogs-1.2.0.dev10 → microsoft_agents_hosting_dialogs-1.4.0.dev13}/microsoft_agents/hosting/dialogs/memory/scopes/dialog_class_memory_scope.py +0 -0
- {microsoft_agents_hosting_dialogs-1.2.0.dev10 → microsoft_agents_hosting_dialogs-1.4.0.dev13}/microsoft_agents/hosting/dialogs/memory/scopes/dialog_context_memory_scope.py +0 -0
- {microsoft_agents_hosting_dialogs-1.2.0.dev10 → microsoft_agents_hosting_dialogs-1.4.0.dev13}/microsoft_agents/hosting/dialogs/memory/scopes/dialog_memory_scope.py +0 -0
- {microsoft_agents_hosting_dialogs-1.2.0.dev10 → microsoft_agents_hosting_dialogs-1.4.0.dev13}/microsoft_agents/hosting/dialogs/memory/scopes/memory_scope.py +0 -0
- {microsoft_agents_hosting_dialogs-1.2.0.dev10 → microsoft_agents_hosting_dialogs-1.4.0.dev13}/microsoft_agents/hosting/dialogs/memory/scopes/settings_memory_scope.py +0 -0
- {microsoft_agents_hosting_dialogs-1.2.0.dev10 → microsoft_agents_hosting_dialogs-1.4.0.dev13}/microsoft_agents/hosting/dialogs/memory/scopes/this_memory_scope.py +0 -0
- {microsoft_agents_hosting_dialogs-1.2.0.dev10 → microsoft_agents_hosting_dialogs-1.4.0.dev13}/microsoft_agents/hosting/dialogs/memory/scopes/turn_memory_scope.py +0 -0
- {microsoft_agents_hosting_dialogs-1.2.0.dev10 → microsoft_agents_hosting_dialogs-1.4.0.dev13}/microsoft_agents/hosting/dialogs/memory/scopes/user_memory_scope.py +0 -0
- {microsoft_agents_hosting_dialogs-1.2.0.dev10 → microsoft_agents_hosting_dialogs-1.4.0.dev13}/microsoft_agents/hosting/dialogs/models/__init__.py +0 -0
- {microsoft_agents_hosting_dialogs-1.2.0.dev10 → microsoft_agents_hosting_dialogs-1.4.0.dev13}/microsoft_agents/hosting/dialogs/models/dialog_event.py +0 -0
- {microsoft_agents_hosting_dialogs-1.2.0.dev10 → microsoft_agents_hosting_dialogs-1.4.0.dev13}/microsoft_agents/hosting/dialogs/models/dialog_events.py +0 -0
- {microsoft_agents_hosting_dialogs-1.2.0.dev10 → microsoft_agents_hosting_dialogs-1.4.0.dev13}/microsoft_agents/hosting/dialogs/models/dialog_instance.py +0 -0
- {microsoft_agents_hosting_dialogs-1.2.0.dev10 → microsoft_agents_hosting_dialogs-1.4.0.dev13}/microsoft_agents/hosting/dialogs/models/dialog_reason.py +0 -0
- {microsoft_agents_hosting_dialogs-1.2.0.dev10 → microsoft_agents_hosting_dialogs-1.4.0.dev13}/microsoft_agents/hosting/dialogs/models/dialog_turn_result.py +0 -0
- {microsoft_agents_hosting_dialogs-1.2.0.dev10 → microsoft_agents_hosting_dialogs-1.4.0.dev13}/microsoft_agents/hosting/dialogs/models/dialog_turn_status.py +0 -0
- {microsoft_agents_hosting_dialogs-1.2.0.dev10 → microsoft_agents_hosting_dialogs-1.4.0.dev13}/microsoft_agents/hosting/dialogs/object_path.py +0 -0
- {microsoft_agents_hosting_dialogs-1.2.0.dev10 → microsoft_agents_hosting_dialogs-1.4.0.dev13}/microsoft_agents/hosting/dialogs/persisted_state.py +0 -0
- {microsoft_agents_hosting_dialogs-1.2.0.dev10 → microsoft_agents_hosting_dialogs-1.4.0.dev13}/microsoft_agents/hosting/dialogs/persisted_state_keys.py +0 -0
- {microsoft_agents_hosting_dialogs-1.2.0.dev10 → microsoft_agents_hosting_dialogs-1.4.0.dev13}/microsoft_agents/hosting/dialogs/prompts/__init__.py +0 -0
- {microsoft_agents_hosting_dialogs-1.2.0.dev10 → microsoft_agents_hosting_dialogs-1.4.0.dev13}/microsoft_agents/hosting/dialogs/prompts/activity_prompt.py +0 -0
- {microsoft_agents_hosting_dialogs-1.2.0.dev10 → microsoft_agents_hosting_dialogs-1.4.0.dev13}/microsoft_agents/hosting/dialogs/prompts/attachment_prompt.py +0 -0
- {microsoft_agents_hosting_dialogs-1.2.0.dev10 → microsoft_agents_hosting_dialogs-1.4.0.dev13}/microsoft_agents/hosting/dialogs/prompts/choice_prompt.py +0 -0
- {microsoft_agents_hosting_dialogs-1.2.0.dev10 → microsoft_agents_hosting_dialogs-1.4.0.dev13}/microsoft_agents/hosting/dialogs/prompts/confirm_prompt.py +0 -0
- {microsoft_agents_hosting_dialogs-1.2.0.dev10 → microsoft_agents_hosting_dialogs-1.4.0.dev13}/microsoft_agents/hosting/dialogs/prompts/datetime_prompt.py +0 -0
- {microsoft_agents_hosting_dialogs-1.2.0.dev10 → microsoft_agents_hosting_dialogs-1.4.0.dev13}/microsoft_agents/hosting/dialogs/prompts/datetime_resolution.py +0 -0
- {microsoft_agents_hosting_dialogs-1.2.0.dev10 → microsoft_agents_hosting_dialogs-1.4.0.dev13}/microsoft_agents/hosting/dialogs/prompts/number_prompt.py +0 -0
- {microsoft_agents_hosting_dialogs-1.2.0.dev10 → microsoft_agents_hosting_dialogs-1.4.0.dev13}/microsoft_agents/hosting/dialogs/prompts/oauth_prompt_settings.py +0 -0
- {microsoft_agents_hosting_dialogs-1.2.0.dev10 → microsoft_agents_hosting_dialogs-1.4.0.dev13}/microsoft_agents/hosting/dialogs/prompts/prompt.py +0 -0
- {microsoft_agents_hosting_dialogs-1.2.0.dev10 → microsoft_agents_hosting_dialogs-1.4.0.dev13}/microsoft_agents/hosting/dialogs/prompts/prompt_culture_models.py +0 -0
- {microsoft_agents_hosting_dialogs-1.2.0.dev10 → microsoft_agents_hosting_dialogs-1.4.0.dev13}/microsoft_agents/hosting/dialogs/prompts/prompt_options.py +0 -0
- {microsoft_agents_hosting_dialogs-1.2.0.dev10 → microsoft_agents_hosting_dialogs-1.4.0.dev13}/microsoft_agents/hosting/dialogs/prompts/prompt_recognizer_result.py +0 -0
- {microsoft_agents_hosting_dialogs-1.2.0.dev10 → microsoft_agents_hosting_dialogs-1.4.0.dev13}/microsoft_agents/hosting/dialogs/prompts/prompt_validator.py +0 -0
- {microsoft_agents_hosting_dialogs-1.2.0.dev10 → microsoft_agents_hosting_dialogs-1.4.0.dev13}/microsoft_agents/hosting/dialogs/prompts/prompt_validator_context.py +0 -0
- {microsoft_agents_hosting_dialogs-1.2.0.dev10 → microsoft_agents_hosting_dialogs-1.4.0.dev13}/microsoft_agents/hosting/dialogs/prompts/text_prompt.py +0 -0
- {microsoft_agents_hosting_dialogs-1.2.0.dev10 → microsoft_agents_hosting_dialogs-1.4.0.dev13}/microsoft_agents/hosting/dialogs/waterfall_dialog.py +0 -0
- {microsoft_agents_hosting_dialogs-1.2.0.dev10 → microsoft_agents_hosting_dialogs-1.4.0.dev13}/microsoft_agents/hosting/dialogs/waterfall_step_context.py +0 -0
- {microsoft_agents_hosting_dialogs-1.2.0.dev10 → microsoft_agents_hosting_dialogs-1.4.0.dev13}/microsoft_agents_hosting_dialogs.egg-info/SOURCES.txt +0 -0
- {microsoft_agents_hosting_dialogs-1.2.0.dev10 → microsoft_agents_hosting_dialogs-1.4.0.dev13}/microsoft_agents_hosting_dialogs.egg-info/dependency_links.txt +0 -0
- {microsoft_agents_hosting_dialogs-1.2.0.dev10 → microsoft_agents_hosting_dialogs-1.4.0.dev13}/microsoft_agents_hosting_dialogs.egg-info/top_level.txt +0 -0
- {microsoft_agents_hosting_dialogs-1.2.0.dev10 → microsoft_agents_hosting_dialogs-1.4.0.dev13}/pyproject.toml +0 -0
- {microsoft_agents_hosting_dialogs-1.2.0.dev10 → microsoft_agents_hosting_dialogs-1.4.0.dev13}/setup.cfg +0 -0
- {microsoft_agents_hosting_dialogs-1.2.0.dev10 → microsoft_agents_hosting_dialogs-1.4.0.dev13}/setup.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: microsoft-agents-hosting-dialogs
|
|
3
|
-
Version: 1.
|
|
3
|
+
Version: 1.4.0.dev13
|
|
4
4
|
Summary: Dialog system for Microsoft Agents (waterfall dialogs, prompts, choices)
|
|
5
5
|
Author: Microsoft Corporation
|
|
6
6
|
License-Expression: MIT
|
|
@@ -15,7 +15,7 @@ Classifier: Operating System :: OS Independent
|
|
|
15
15
|
Requires-Python: >=3.10
|
|
16
16
|
Description-Content-Type: text/markdown
|
|
17
17
|
License-File: LICENSE
|
|
18
|
-
Requires-Dist: microsoft-agents-hosting-core==1.
|
|
18
|
+
Requires-Dist: microsoft-agents-hosting-core==1.4.0.dev13
|
|
19
19
|
Requires-Dist: recognizers-text-number>=1.0.1a0
|
|
20
20
|
Requires-Dist: recognizers-text-choice>=1.0.1a0
|
|
21
21
|
Requires-Dist: recognizers-text-date-time>=1.0.1a0
|
|
@@ -36,6 +36,70 @@ This library is a port of the botbuilder-dialogs library to the new Microsoft 36
|
|
|
36
36
|
|
|
37
37
|
This library is part of the **Microsoft 365 Agents SDK for Python** - a comprehensive framework for building enterprise-grade conversational AI agents. The dialogs library enables developers to structure multi-turn conversations with reusable, composable dialog primitives.
|
|
38
38
|
|
|
39
|
+
## Release Notes
|
|
40
|
+
|
|
41
|
+
<table style="width:100%">
|
|
42
|
+
<tr>
|
|
43
|
+
<th style="width:20%">Version</th>
|
|
44
|
+
<th style="width:20%">Date</th>
|
|
45
|
+
<th style="width:60%">Release Notes</th>
|
|
46
|
+
</tr>
|
|
47
|
+
<tr>
|
|
48
|
+
<td>1.3.0</td>
|
|
49
|
+
<td>2026-07-30</td>
|
|
50
|
+
<td>
|
|
51
|
+
<a href="https://github.com/microsoft/Agents-for-python/blob/main/changelog.md#microsoft-365-agents-sdk-for-python---release-notes-v130">
|
|
52
|
+
1.3.0 Release Notes
|
|
53
|
+
</a>
|
|
54
|
+
</td>
|
|
55
|
+
</tr>
|
|
56
|
+
<tr>
|
|
57
|
+
<td>1.2.0</td>
|
|
58
|
+
<td>2026-07-17</td>
|
|
59
|
+
<td>
|
|
60
|
+
<a href="https://github.com/microsoft/Agents-for-python/blob/main/changelog.md#microsoft-365-agents-sdk-for-python---release-notes-v120">
|
|
61
|
+
1.2.0 Release Notes
|
|
62
|
+
</a>
|
|
63
|
+
</td>
|
|
64
|
+
</tr>
|
|
65
|
+
<tr>
|
|
66
|
+
<td>1.1.0</td>
|
|
67
|
+
<td>2026-06-19</td>
|
|
68
|
+
<td>
|
|
69
|
+
<a href="https://github.com/microsoft/Agents-for-python/blob/main/changelog.md#microsoft-365-agents-sdk-for-python---release-notes-v110">
|
|
70
|
+
1.1.0 Release Notes
|
|
71
|
+
</a>
|
|
72
|
+
</td>
|
|
73
|
+
</tr>
|
|
74
|
+
<tr>
|
|
75
|
+
<td>1.0.0</td>
|
|
76
|
+
<td>2026-05-22</td>
|
|
77
|
+
<td>
|
|
78
|
+
<a href="https://github.com/microsoft/Agents-for-python/blob/main/changelog.md#microsoft-365-agents-sdk-for-python---release-notes-v100">
|
|
79
|
+
1.0.0 Release Notes
|
|
80
|
+
</a>
|
|
81
|
+
</td>
|
|
82
|
+
</tr>
|
|
83
|
+
</table>
|
|
84
|
+
|
|
85
|
+
## Packages Overview
|
|
86
|
+
|
|
87
|
+
We offer the following PyPI packages to create conversational experiences based on Agents:
|
|
88
|
+
|
|
89
|
+
| Package Name | PyPI Version | Description |
|
|
90
|
+
|--------------|-------------|-------------|
|
|
91
|
+
| `microsoft-agents-activity` | [](https://pypi.org/project/microsoft-agents-activity/) | Types and validators implementing the Activity protocol spec. |
|
|
92
|
+
| `microsoft-agents-hosting-core` | [](https://pypi.org/project/microsoft-agents-hosting-core/) | Core library for Microsoft Agents hosting. |
|
|
93
|
+
| `microsoft-agents-hosting-aiohttp` | [](https://pypi.org/project/microsoft-agents-hosting-aiohttp/) | Configures aiohttp to run the Agent. |
|
|
94
|
+
| `microsoft-agents-hosting-fastapi` | [](https://pypi.org/project/microsoft-agents-hosting-fastapi/) | Configures fastapi to run the Agent. |
|
|
95
|
+
| `microsoft-agents-hosting-msteams` | [](https://pypi.org/project/microsoft-agents-hosting-msteams/) | Provides classes to host an Agent for Teams. |
|
|
96
|
+
| `microsoft-agents-hosting-dialogs` | [](https://pypi.org/project/microsoft-agents-hosting-dialogs/) | Dialog system with waterfall dialogs, prompts, and multi-turn conversation management. |
|
|
97
|
+
| `microsoft-agents-hosting-slack` | [](https://pypi.org/project/microsoft-agents-hosting-slack/) | Provides classes to host an Agent for Slack. |
|
|
98
|
+
| `microsoft-agents-storage-blob` | [](https://pypi.org/project/microsoft-agents-storage-blob/) | Extension to use Azure Blob as storage. |
|
|
99
|
+
| `microsoft-agents-storage-cosmos` | [](https://pypi.org/project/microsoft-agents-storage-cosmos/) | Extension to use CosmosDB as storage. |
|
|
100
|
+
| `microsoft-agents-authentication-msal` | [](https://pypi.org/project/microsoft-agents-authentication-msal/) | MSAL-based authentication for Microsoft Agents. |
|
|
101
|
+
| `microsoft-agents-authentication-entra-auth-sidecar` | [](https://pypi.org/project/microsoft-agents-authentication-entra-auth-sidecar/) | Credential-free Entra ID Agent ID authentication via the sidecar. |
|
|
102
|
+
|
|
39
103
|
## Key Features
|
|
40
104
|
|
|
41
105
|
- **WaterfallDialog**: Sequential step-by-step conversation flows
|
|
@@ -82,30 +146,3 @@ dialogs.add(TextPrompt("text_prompt"))
|
|
|
82
146
|
dialogs.add(WaterfallDialog("main", [step1, step2]))
|
|
83
147
|
```
|
|
84
148
|
|
|
85
|
-
## Release Notes
|
|
86
|
-
|
|
87
|
-
<table style="width:100%">
|
|
88
|
-
<tr>
|
|
89
|
-
<th style="width:20%">Version</th>
|
|
90
|
-
<th style="width:20%">Date</th>
|
|
91
|
-
<th style="width:60%">Release Notes</th>
|
|
92
|
-
</tr>
|
|
93
|
-
<tr>
|
|
94
|
-
<td>1.1.0</td>
|
|
95
|
-
<td>2026-06-19</td>
|
|
96
|
-
<td>
|
|
97
|
-
<a href="https://github.com/microsoft/Agents-for-python/blob/main/changelog.md#microsoft-365-agents-sdk-for-python---release-notes-v110">
|
|
98
|
-
1.1.0 Release Notes
|
|
99
|
-
</a>
|
|
100
|
-
</td>
|
|
101
|
-
</tr>
|
|
102
|
-
<tr>
|
|
103
|
-
<td>1.0.0</td>
|
|
104
|
-
<td>2026-05-22</td>
|
|
105
|
-
<td>
|
|
106
|
-
<a href="https://github.com/microsoft/Agents-for-python/blob/main/changelog.md#microsoft-365-agents-sdk-for-python---release-notes-v100">
|
|
107
|
-
1.0.0 Release Notes
|
|
108
|
-
</a>
|
|
109
|
-
</td>
|
|
110
|
-
</tr>
|
|
111
|
-
</table>
|
|
@@ -138,26 +138,18 @@ class DialogExtensions:
|
|
|
138
138
|
"""
|
|
139
139
|
Determines if this turn is an incoming request from a parent bot to this skill.
|
|
140
140
|
"""
|
|
141
|
-
claims_identity = turn_context.
|
|
142
|
-
|
|
143
|
-
)
|
|
144
|
-
return (
|
|
145
|
-
isinstance(claims_identity, ClaimsIdentity)
|
|
146
|
-
and claims_identity.is_agent_claim()
|
|
147
|
-
)
|
|
141
|
+
claims_identity = turn_context.identity
|
|
142
|
+
return claims_identity is not None and claims_identity.is_agent_claim()
|
|
148
143
|
|
|
149
144
|
@staticmethod
|
|
150
145
|
async def _send_state_snapshot_trace(dialog_context: DialogContext):
|
|
151
146
|
"""
|
|
152
147
|
Helper to send a trace activity with a memory snapshot of the active dialog DC.
|
|
153
148
|
"""
|
|
154
|
-
claims_identity = dialog_context.context.
|
|
155
|
-
ChannelAdapter.AGENT_IDENTITY_KEY, None
|
|
156
|
-
)
|
|
149
|
+
claims_identity = dialog_context.context.identity
|
|
157
150
|
trace_label = (
|
|
158
151
|
"Skill State"
|
|
159
|
-
if
|
|
160
|
-
and claims_identity.is_agent_claim()
|
|
152
|
+
if claims_identity is not None and claims_identity.is_agent_claim()
|
|
161
153
|
else "Bot State"
|
|
162
154
|
)
|
|
163
155
|
# send trace of memory
|
|
@@ -178,13 +170,8 @@ class DialogExtensions:
|
|
|
178
170
|
"""
|
|
179
171
|
Determines whether to send an EndOfConversation to the parent bot.
|
|
180
172
|
"""
|
|
181
|
-
claims_identity = turn_context.
|
|
182
|
-
|
|
183
|
-
)
|
|
184
|
-
if (
|
|
185
|
-
isinstance(claims_identity, ClaimsIdentity)
|
|
186
|
-
and claims_identity.is_agent_claim()
|
|
187
|
-
):
|
|
173
|
+
claims_identity = turn_context.identity
|
|
174
|
+
if claims_identity is not None and claims_identity.is_agent_claim():
|
|
188
175
|
return True
|
|
189
176
|
|
|
190
177
|
return False
|
|
@@ -83,28 +83,10 @@ class DialogManager:
|
|
|
83
83
|
# Register DialogManager with TurnState.
|
|
84
84
|
context.turn_state[DialogManager.__name__] = self
|
|
85
85
|
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
raise Exception(
|
|
91
|
-
f"Unable to get an instance of {conversation_state_name} from turn_context. "
|
|
92
|
-
f"Please ensure ConversationState is available in turn_state."
|
|
93
|
-
)
|
|
94
|
-
self.conversation_state = cast(
|
|
95
|
-
ConversationState, context.turn_state[conversation_state_name]
|
|
96
|
-
)
|
|
97
|
-
else:
|
|
98
|
-
context.turn_state[conversation_state_name] = self.conversation_state
|
|
99
|
-
|
|
100
|
-
# Resolve UserState (optional)
|
|
101
|
-
user_state_name = UserState.__name__
|
|
102
|
-
if self.user_state is None:
|
|
103
|
-
self.user_state = cast(
|
|
104
|
-
UserState | None, context.turn_state.get(user_state_name, None)
|
|
105
|
-
)
|
|
106
|
-
else:
|
|
107
|
-
context.turn_state[user_state_name] = self.user_state
|
|
86
|
+
if self.conversation_state is not None:
|
|
87
|
+
await self.conversation_state.load(context, False)
|
|
88
|
+
if self.user_state is not None:
|
|
89
|
+
await self.user_state.load(context, False)
|
|
108
90
|
|
|
109
91
|
# Create property accessors
|
|
110
92
|
last_access_property = self.conversation_state.create_property(self.last_access)
|
|
@@ -155,13 +137,8 @@ class DialogManager:
|
|
|
155
137
|
Determines if this turn is a request from a parent bot to this skill.
|
|
156
138
|
"""
|
|
157
139
|
|
|
158
|
-
claims_identity = turn_context.
|
|
159
|
-
|
|
160
|
-
)
|
|
161
|
-
return (
|
|
162
|
-
isinstance(claims_identity, ClaimsIdentity)
|
|
163
|
-
and claims_identity.is_agent_claim()
|
|
164
|
-
)
|
|
140
|
+
claims_identity = turn_context.identity
|
|
141
|
+
return claims_identity is not None and claims_identity.is_agent_claim()
|
|
165
142
|
|
|
166
143
|
@staticmethod
|
|
167
144
|
def should_send_end_of_conversation_to_parent(
|
|
@@ -12,13 +12,14 @@ from microsoft_agents.activity import (
|
|
|
12
12
|
ActivityTypes,
|
|
13
13
|
ActionTypes,
|
|
14
14
|
CardAction,
|
|
15
|
+
ContentTypes,
|
|
15
16
|
InputHints,
|
|
16
17
|
SigninCard,
|
|
17
18
|
SignInConstants,
|
|
18
19
|
OAuthCard,
|
|
19
20
|
TokenResponse,
|
|
20
21
|
TokenExchangeInvokeRequest,
|
|
21
|
-
|
|
22
|
+
TokenExchangeRequest,
|
|
22
23
|
InvokeResponse,
|
|
23
24
|
)
|
|
24
25
|
from microsoft_agents.hosting.core import (
|
|
@@ -27,7 +28,7 @@ from microsoft_agents.hosting.core import (
|
|
|
27
28
|
TurnContext,
|
|
28
29
|
ChannelAdapter,
|
|
29
30
|
ClaimsIdentity,
|
|
30
|
-
|
|
31
|
+
UserTokenClientBase,
|
|
31
32
|
MemoryStorage,
|
|
32
33
|
)
|
|
33
34
|
from microsoft_agents.hosting.core._oauth import (
|
|
@@ -37,7 +38,6 @@ from microsoft_agents.hosting.core._oauth import (
|
|
|
37
38
|
_FlowStateTag,
|
|
38
39
|
_FlowResponse,
|
|
39
40
|
)
|
|
40
|
-
from opentelemetry import context
|
|
41
41
|
|
|
42
42
|
from ..dialog import Dialog
|
|
43
43
|
from ..dialog_context import DialogContext
|
|
@@ -80,8 +80,13 @@ class OAuthPrompt(Dialog):
|
|
|
80
80
|
self._settings = settings
|
|
81
81
|
|
|
82
82
|
@staticmethod
|
|
83
|
-
def _get_user_token_client(context: TurnContext) ->
|
|
84
|
-
|
|
83
|
+
def _get_user_token_client(context: TurnContext) -> UserTokenClientBase:
|
|
84
|
+
val = context.services.get(UserTokenClientBase)
|
|
85
|
+
if val is None:
|
|
86
|
+
raise RuntimeError(
|
|
87
|
+
"OAuthPrompt._get_user_token_client(): UserTokenClientBase not found in context.services."
|
|
88
|
+
)
|
|
89
|
+
return val
|
|
85
90
|
|
|
86
91
|
def _get_app_id(self, context: TurnContext) -> str:
|
|
87
92
|
if (
|
|
@@ -255,10 +260,7 @@ class OAuthPrompt(Dialog):
|
|
|
255
260
|
|
|
256
261
|
@staticmethod
|
|
257
262
|
def __create_caller_info(context: TurnContext) -> CallerInfo | None:
|
|
258
|
-
bot_identity =
|
|
259
|
-
ClaimsIdentity | None,
|
|
260
|
-
context.turn_state.get(ChannelAdapter.AGENT_IDENTITY_KEY),
|
|
261
|
-
)
|
|
263
|
+
bot_identity = context.identity
|
|
262
264
|
if bot_identity and bot_identity.is_agent_claim():
|
|
263
265
|
return CallerInfo(
|
|
264
266
|
caller_service_url=context.activity.service_url,
|
|
@@ -282,16 +284,13 @@ class OAuthPrompt(Dialog):
|
|
|
282
284
|
|
|
283
285
|
if OAuthPrompt._channel_suppports_oauth_card(context.activity.channel_id or ""):
|
|
284
286
|
if not any(
|
|
285
|
-
att.content_type ==
|
|
287
|
+
att.content_type == ContentTypes.oauth_card
|
|
286
288
|
for att in prompt.attachments
|
|
287
289
|
):
|
|
288
290
|
card_action_type = ActionTypes.signin
|
|
289
291
|
sign_in_resource = flow_response.sign_in_resource
|
|
290
292
|
link = sign_in_resource.sign_in_link
|
|
291
|
-
bot_identity =
|
|
292
|
-
ClaimsIdentity | None,
|
|
293
|
-
context.turn_state.get(ChannelAdapter.AGENT_IDENTITY_KEY),
|
|
294
|
-
)
|
|
293
|
+
bot_identity = context.identity
|
|
295
294
|
|
|
296
295
|
# use the SignInLink when in speech channel or bot is a skill or
|
|
297
296
|
# an extra OAuthAppCredentials is being passed in
|
|
@@ -344,7 +343,7 @@ class OAuthPrompt(Dialog):
|
|
|
344
343
|
)
|
|
345
344
|
else:
|
|
346
345
|
if not any(
|
|
347
|
-
att.content_type ==
|
|
346
|
+
att.content_type == ContentTypes.signin_card
|
|
348
347
|
for att in prompt.attachments
|
|
349
348
|
):
|
|
350
349
|
if not hasattr(context.adapter, "get_oauth_sign_in_link"):
|
|
@@ -430,11 +429,11 @@ class OAuthPrompt(Dialog):
|
|
|
430
429
|
|
|
431
430
|
user_token_client = OAuthPrompt._get_user_token_client(context)
|
|
432
431
|
|
|
433
|
-
return await user_token_client.
|
|
432
|
+
return await user_token_client.exchange_token(
|
|
434
433
|
user_id,
|
|
435
434
|
self._settings.connection_name,
|
|
436
435
|
channel_id,
|
|
437
|
-
|
|
436
|
+
TokenExchangeRequest(token=input_token_response.token),
|
|
438
437
|
)
|
|
439
438
|
|
|
440
439
|
async def _continue_flow(
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: microsoft-agents-hosting-dialogs
|
|
3
|
-
Version: 1.
|
|
3
|
+
Version: 1.4.0.dev13
|
|
4
4
|
Summary: Dialog system for Microsoft Agents (waterfall dialogs, prompts, choices)
|
|
5
5
|
Author: Microsoft Corporation
|
|
6
6
|
License-Expression: MIT
|
|
@@ -15,7 +15,7 @@ Classifier: Operating System :: OS Independent
|
|
|
15
15
|
Requires-Python: >=3.10
|
|
16
16
|
Description-Content-Type: text/markdown
|
|
17
17
|
License-File: LICENSE
|
|
18
|
-
Requires-Dist: microsoft-agents-hosting-core==1.
|
|
18
|
+
Requires-Dist: microsoft-agents-hosting-core==1.4.0.dev13
|
|
19
19
|
Requires-Dist: recognizers-text-number>=1.0.1a0
|
|
20
20
|
Requires-Dist: recognizers-text-choice>=1.0.1a0
|
|
21
21
|
Requires-Dist: recognizers-text-date-time>=1.0.1a0
|
|
@@ -36,6 +36,70 @@ This library is a port of the botbuilder-dialogs library to the new Microsoft 36
|
|
|
36
36
|
|
|
37
37
|
This library is part of the **Microsoft 365 Agents SDK for Python** - a comprehensive framework for building enterprise-grade conversational AI agents. The dialogs library enables developers to structure multi-turn conversations with reusable, composable dialog primitives.
|
|
38
38
|
|
|
39
|
+
## Release Notes
|
|
40
|
+
|
|
41
|
+
<table style="width:100%">
|
|
42
|
+
<tr>
|
|
43
|
+
<th style="width:20%">Version</th>
|
|
44
|
+
<th style="width:20%">Date</th>
|
|
45
|
+
<th style="width:60%">Release Notes</th>
|
|
46
|
+
</tr>
|
|
47
|
+
<tr>
|
|
48
|
+
<td>1.3.0</td>
|
|
49
|
+
<td>2026-07-30</td>
|
|
50
|
+
<td>
|
|
51
|
+
<a href="https://github.com/microsoft/Agents-for-python/blob/main/changelog.md#microsoft-365-agents-sdk-for-python---release-notes-v130">
|
|
52
|
+
1.3.0 Release Notes
|
|
53
|
+
</a>
|
|
54
|
+
</td>
|
|
55
|
+
</tr>
|
|
56
|
+
<tr>
|
|
57
|
+
<td>1.2.0</td>
|
|
58
|
+
<td>2026-07-17</td>
|
|
59
|
+
<td>
|
|
60
|
+
<a href="https://github.com/microsoft/Agents-for-python/blob/main/changelog.md#microsoft-365-agents-sdk-for-python---release-notes-v120">
|
|
61
|
+
1.2.0 Release Notes
|
|
62
|
+
</a>
|
|
63
|
+
</td>
|
|
64
|
+
</tr>
|
|
65
|
+
<tr>
|
|
66
|
+
<td>1.1.0</td>
|
|
67
|
+
<td>2026-06-19</td>
|
|
68
|
+
<td>
|
|
69
|
+
<a href="https://github.com/microsoft/Agents-for-python/blob/main/changelog.md#microsoft-365-agents-sdk-for-python---release-notes-v110">
|
|
70
|
+
1.1.0 Release Notes
|
|
71
|
+
</a>
|
|
72
|
+
</td>
|
|
73
|
+
</tr>
|
|
74
|
+
<tr>
|
|
75
|
+
<td>1.0.0</td>
|
|
76
|
+
<td>2026-05-22</td>
|
|
77
|
+
<td>
|
|
78
|
+
<a href="https://github.com/microsoft/Agents-for-python/blob/main/changelog.md#microsoft-365-agents-sdk-for-python---release-notes-v100">
|
|
79
|
+
1.0.0 Release Notes
|
|
80
|
+
</a>
|
|
81
|
+
</td>
|
|
82
|
+
</tr>
|
|
83
|
+
</table>
|
|
84
|
+
|
|
85
|
+
## Packages Overview
|
|
86
|
+
|
|
87
|
+
We offer the following PyPI packages to create conversational experiences based on Agents:
|
|
88
|
+
|
|
89
|
+
| Package Name | PyPI Version | Description |
|
|
90
|
+
|--------------|-------------|-------------|
|
|
91
|
+
| `microsoft-agents-activity` | [](https://pypi.org/project/microsoft-agents-activity/) | Types and validators implementing the Activity protocol spec. |
|
|
92
|
+
| `microsoft-agents-hosting-core` | [](https://pypi.org/project/microsoft-agents-hosting-core/) | Core library for Microsoft Agents hosting. |
|
|
93
|
+
| `microsoft-agents-hosting-aiohttp` | [](https://pypi.org/project/microsoft-agents-hosting-aiohttp/) | Configures aiohttp to run the Agent. |
|
|
94
|
+
| `microsoft-agents-hosting-fastapi` | [](https://pypi.org/project/microsoft-agents-hosting-fastapi/) | Configures fastapi to run the Agent. |
|
|
95
|
+
| `microsoft-agents-hosting-msteams` | [](https://pypi.org/project/microsoft-agents-hosting-msteams/) | Provides classes to host an Agent for Teams. |
|
|
96
|
+
| `microsoft-agents-hosting-dialogs` | [](https://pypi.org/project/microsoft-agents-hosting-dialogs/) | Dialog system with waterfall dialogs, prompts, and multi-turn conversation management. |
|
|
97
|
+
| `microsoft-agents-hosting-slack` | [](https://pypi.org/project/microsoft-agents-hosting-slack/) | Provides classes to host an Agent for Slack. |
|
|
98
|
+
| `microsoft-agents-storage-blob` | [](https://pypi.org/project/microsoft-agents-storage-blob/) | Extension to use Azure Blob as storage. |
|
|
99
|
+
| `microsoft-agents-storage-cosmos` | [](https://pypi.org/project/microsoft-agents-storage-cosmos/) | Extension to use CosmosDB as storage. |
|
|
100
|
+
| `microsoft-agents-authentication-msal` | [](https://pypi.org/project/microsoft-agents-authentication-msal/) | MSAL-based authentication for Microsoft Agents. |
|
|
101
|
+
| `microsoft-agents-authentication-entra-auth-sidecar` | [](https://pypi.org/project/microsoft-agents-authentication-entra-auth-sidecar/) | Credential-free Entra ID Agent ID authentication via the sidecar. |
|
|
102
|
+
|
|
39
103
|
## Key Features
|
|
40
104
|
|
|
41
105
|
- **WaterfallDialog**: Sequential step-by-step conversation flows
|
|
@@ -82,30 +146,3 @@ dialogs.add(TextPrompt("text_prompt"))
|
|
|
82
146
|
dialogs.add(WaterfallDialog("main", [step1, step2]))
|
|
83
147
|
```
|
|
84
148
|
|
|
85
|
-
## Release Notes
|
|
86
|
-
|
|
87
|
-
<table style="width:100%">
|
|
88
|
-
<tr>
|
|
89
|
-
<th style="width:20%">Version</th>
|
|
90
|
-
<th style="width:20%">Date</th>
|
|
91
|
-
<th style="width:60%">Release Notes</th>
|
|
92
|
-
</tr>
|
|
93
|
-
<tr>
|
|
94
|
-
<td>1.1.0</td>
|
|
95
|
-
<td>2026-06-19</td>
|
|
96
|
-
<td>
|
|
97
|
-
<a href="https://github.com/microsoft/Agents-for-python/blob/main/changelog.md#microsoft-365-agents-sdk-for-python---release-notes-v110">
|
|
98
|
-
1.1.0 Release Notes
|
|
99
|
-
</a>
|
|
100
|
-
</td>
|
|
101
|
-
</tr>
|
|
102
|
-
<tr>
|
|
103
|
-
<td>1.0.0</td>
|
|
104
|
-
<td>2026-05-22</td>
|
|
105
|
-
<td>
|
|
106
|
-
<a href="https://github.com/microsoft/Agents-for-python/blob/main/changelog.md#microsoft-365-agents-sdk-for-python---release-notes-v100">
|
|
107
|
-
1.0.0 Release Notes
|
|
108
|
-
</a>
|
|
109
|
-
</td>
|
|
110
|
-
</tr>
|
|
111
|
-
</table>
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
# Microsoft Agents Hosting - Dialogs
|
|
2
|
+
|
|
3
|
+
[](https://pypi.org/project/microsoft-agents-hosting-dialogs/)
|
|
4
|
+
|
|
5
|
+
Dialog system for the Microsoft 365 Agents SDK. Provides waterfall dialogs, prompts, choice recognition, and multi-turn conversation management.
|
|
6
|
+
|
|
7
|
+
This library is a port of the botbuilder-dialogs library to the new Microsoft 365 Agents SDK. It provides the same dialog primitives (WaterfallDialog, ComponentDialog, DialogSet, DialogContext) and prompts (TextPrompt, NumberPrompt, ChoicePrompt, ConfirmPrompt, DateTimePrompt, OAuthPrompt, etc.) with updated imports and patterns for the new SDK.
|
|
8
|
+
|
|
9
|
+
## What is this?
|
|
10
|
+
|
|
11
|
+
This library is part of the **Microsoft 365 Agents SDK for Python** - a comprehensive framework for building enterprise-grade conversational AI agents. The dialogs library enables developers to structure multi-turn conversations with reusable, composable dialog primitives.
|
|
12
|
+
|
|
13
|
+
## Release Notes
|
|
14
|
+
|
|
15
|
+
<table style="width:100%">
|
|
16
|
+
<tr>
|
|
17
|
+
<th style="width:20%">Version</th>
|
|
18
|
+
<th style="width:20%">Date</th>
|
|
19
|
+
<th style="width:60%">Release Notes</th>
|
|
20
|
+
</tr>
|
|
21
|
+
<tr>
|
|
22
|
+
<td>1.3.0</td>
|
|
23
|
+
<td>2026-07-30</td>
|
|
24
|
+
<td>
|
|
25
|
+
<a href="https://github.com/microsoft/Agents-for-python/blob/main/changelog.md#microsoft-365-agents-sdk-for-python---release-notes-v130">
|
|
26
|
+
1.3.0 Release Notes
|
|
27
|
+
</a>
|
|
28
|
+
</td>
|
|
29
|
+
</tr>
|
|
30
|
+
<tr>
|
|
31
|
+
<td>1.2.0</td>
|
|
32
|
+
<td>2026-07-17</td>
|
|
33
|
+
<td>
|
|
34
|
+
<a href="https://github.com/microsoft/Agents-for-python/blob/main/changelog.md#microsoft-365-agents-sdk-for-python---release-notes-v120">
|
|
35
|
+
1.2.0 Release Notes
|
|
36
|
+
</a>
|
|
37
|
+
</td>
|
|
38
|
+
</tr>
|
|
39
|
+
<tr>
|
|
40
|
+
<td>1.1.0</td>
|
|
41
|
+
<td>2026-06-19</td>
|
|
42
|
+
<td>
|
|
43
|
+
<a href="https://github.com/microsoft/Agents-for-python/blob/main/changelog.md#microsoft-365-agents-sdk-for-python---release-notes-v110">
|
|
44
|
+
1.1.0 Release Notes
|
|
45
|
+
</a>
|
|
46
|
+
</td>
|
|
47
|
+
</tr>
|
|
48
|
+
<tr>
|
|
49
|
+
<td>1.0.0</td>
|
|
50
|
+
<td>2026-05-22</td>
|
|
51
|
+
<td>
|
|
52
|
+
<a href="https://github.com/microsoft/Agents-for-python/blob/main/changelog.md#microsoft-365-agents-sdk-for-python---release-notes-v100">
|
|
53
|
+
1.0.0 Release Notes
|
|
54
|
+
</a>
|
|
55
|
+
</td>
|
|
56
|
+
</tr>
|
|
57
|
+
</table>
|
|
58
|
+
|
|
59
|
+
## Packages Overview
|
|
60
|
+
|
|
61
|
+
We offer the following PyPI packages to create conversational experiences based on Agents:
|
|
62
|
+
|
|
63
|
+
| Package Name | PyPI Version | Description |
|
|
64
|
+
|--------------|-------------|-------------|
|
|
65
|
+
| `microsoft-agents-activity` | [](https://pypi.org/project/microsoft-agents-activity/) | Types and validators implementing the Activity protocol spec. |
|
|
66
|
+
| `microsoft-agents-hosting-core` | [](https://pypi.org/project/microsoft-agents-hosting-core/) | Core library for Microsoft Agents hosting. |
|
|
67
|
+
| `microsoft-agents-hosting-aiohttp` | [](https://pypi.org/project/microsoft-agents-hosting-aiohttp/) | Configures aiohttp to run the Agent. |
|
|
68
|
+
| `microsoft-agents-hosting-fastapi` | [](https://pypi.org/project/microsoft-agents-hosting-fastapi/) | Configures fastapi to run the Agent. |
|
|
69
|
+
| `microsoft-agents-hosting-msteams` | [](https://pypi.org/project/microsoft-agents-hosting-msteams/) | Provides classes to host an Agent for Teams. |
|
|
70
|
+
| `microsoft-agents-hosting-dialogs` | [](https://pypi.org/project/microsoft-agents-hosting-dialogs/) | Dialog system with waterfall dialogs, prompts, and multi-turn conversation management. |
|
|
71
|
+
| `microsoft-agents-hosting-slack` | [](https://pypi.org/project/microsoft-agents-hosting-slack/) | Provides classes to host an Agent for Slack. |
|
|
72
|
+
| `microsoft-agents-storage-blob` | [](https://pypi.org/project/microsoft-agents-storage-blob/) | Extension to use Azure Blob as storage. |
|
|
73
|
+
| `microsoft-agents-storage-cosmos` | [](https://pypi.org/project/microsoft-agents-storage-cosmos/) | Extension to use CosmosDB as storage. |
|
|
74
|
+
| `microsoft-agents-authentication-msal` | [](https://pypi.org/project/microsoft-agents-authentication-msal/) | MSAL-based authentication for Microsoft Agents. |
|
|
75
|
+
| `microsoft-agents-authentication-entra-auth-sidecar` | [](https://pypi.org/project/microsoft-agents-authentication-entra-auth-sidecar/) | Credential-free Entra ID Agent ID authentication via the sidecar. |
|
|
76
|
+
|
|
77
|
+
## Key Features
|
|
78
|
+
|
|
79
|
+
- **WaterfallDialog**: Sequential step-by-step conversation flows
|
|
80
|
+
- **ComponentDialog**: Composable, encapsulated dialog components
|
|
81
|
+
- **Prompts**: Built-in prompts for text, numbers, choices, confirmations, dates, attachments, and OAuth
|
|
82
|
+
- **Choice recognition**: Locale-aware choice matching and recognition
|
|
83
|
+
- **Dialog memory**: Scoped memory management (conversation, user, dialog, class, settings)
|
|
84
|
+
- **DialogManager**: High-level dialog orchestration with state management
|
|
85
|
+
|
|
86
|
+
## Installation
|
|
87
|
+
|
|
88
|
+
```bash
|
|
89
|
+
pip install microsoft-agents-hosting-dialogs
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
## Quick Start
|
|
93
|
+
|
|
94
|
+
```python
|
|
95
|
+
from microsoft_agents.hosting.dialogs import (
|
|
96
|
+
WaterfallDialog,
|
|
97
|
+
WaterfallStepContext,
|
|
98
|
+
DialogSet,
|
|
99
|
+
DialogTurnStatus,
|
|
100
|
+
)
|
|
101
|
+
from microsoft_agents.hosting.dialogs.prompts import TextPrompt, PromptOptions
|
|
102
|
+
from microsoft_agents.hosting.core import ConversationState, MemoryStorage
|
|
103
|
+
|
|
104
|
+
storage = MemoryStorage()
|
|
105
|
+
conversation_state = ConversationState(storage)
|
|
106
|
+
dialog_state = conversation_state.create_property("DialogState")
|
|
107
|
+
dialogs = DialogSet(dialog_state)
|
|
108
|
+
|
|
109
|
+
async def step1(step: WaterfallStepContext):
|
|
110
|
+
return await step.prompt(
|
|
111
|
+
"text_prompt",
|
|
112
|
+
PromptOptions(prompt=MessageFactory.text("What is your name?"))
|
|
113
|
+
)
|
|
114
|
+
|
|
115
|
+
async def step2(step: WaterfallStepContext):
|
|
116
|
+
await step.context.send_activity(f"Hello, {step.result}!")
|
|
117
|
+
return await step.end_dialog()
|
|
118
|
+
|
|
119
|
+
dialogs.add(TextPrompt("text_prompt"))
|
|
120
|
+
dialogs.add(WaterfallDialog("main", [step1, step2]))
|
|
121
|
+
```
|
|
122
|
+
|
|
@@ -1,85 +0,0 @@
|
|
|
1
|
-
# Microsoft Agents Hosting - Dialogs
|
|
2
|
-
|
|
3
|
-
[](https://pypi.org/project/microsoft-agents-hosting-dialogs/)
|
|
4
|
-
|
|
5
|
-
Dialog system for the Microsoft 365 Agents SDK. Provides waterfall dialogs, prompts, choice recognition, and multi-turn conversation management.
|
|
6
|
-
|
|
7
|
-
This library is a port of the botbuilder-dialogs library to the new Microsoft 365 Agents SDK. It provides the same dialog primitives (WaterfallDialog, ComponentDialog, DialogSet, DialogContext) and prompts (TextPrompt, NumberPrompt, ChoicePrompt, ConfirmPrompt, DateTimePrompt, OAuthPrompt, etc.) with updated imports and patterns for the new SDK.
|
|
8
|
-
|
|
9
|
-
## What is this?
|
|
10
|
-
|
|
11
|
-
This library is part of the **Microsoft 365 Agents SDK for Python** - a comprehensive framework for building enterprise-grade conversational AI agents. The dialogs library enables developers to structure multi-turn conversations with reusable, composable dialog primitives.
|
|
12
|
-
|
|
13
|
-
## Key Features
|
|
14
|
-
|
|
15
|
-
- **WaterfallDialog**: Sequential step-by-step conversation flows
|
|
16
|
-
- **ComponentDialog**: Composable, encapsulated dialog components
|
|
17
|
-
- **Prompts**: Built-in prompts for text, numbers, choices, confirmations, dates, attachments, and OAuth
|
|
18
|
-
- **Choice recognition**: Locale-aware choice matching and recognition
|
|
19
|
-
- **Dialog memory**: Scoped memory management (conversation, user, dialog, class, settings)
|
|
20
|
-
- **DialogManager**: High-level dialog orchestration with state management
|
|
21
|
-
|
|
22
|
-
## Installation
|
|
23
|
-
|
|
24
|
-
```bash
|
|
25
|
-
pip install microsoft-agents-hosting-dialogs
|
|
26
|
-
```
|
|
27
|
-
|
|
28
|
-
## Quick Start
|
|
29
|
-
|
|
30
|
-
```python
|
|
31
|
-
from microsoft_agents.hosting.dialogs import (
|
|
32
|
-
WaterfallDialog,
|
|
33
|
-
WaterfallStepContext,
|
|
34
|
-
DialogSet,
|
|
35
|
-
DialogTurnStatus,
|
|
36
|
-
)
|
|
37
|
-
from microsoft_agents.hosting.dialogs.prompts import TextPrompt, PromptOptions
|
|
38
|
-
from microsoft_agents.hosting.core import ConversationState, MemoryStorage
|
|
39
|
-
|
|
40
|
-
storage = MemoryStorage()
|
|
41
|
-
conversation_state = ConversationState(storage)
|
|
42
|
-
dialog_state = conversation_state.create_property("DialogState")
|
|
43
|
-
dialogs = DialogSet(dialog_state)
|
|
44
|
-
|
|
45
|
-
async def step1(step: WaterfallStepContext):
|
|
46
|
-
return await step.prompt(
|
|
47
|
-
"text_prompt",
|
|
48
|
-
PromptOptions(prompt=MessageFactory.text("What is your name?"))
|
|
49
|
-
)
|
|
50
|
-
|
|
51
|
-
async def step2(step: WaterfallStepContext):
|
|
52
|
-
await step.context.send_activity(f"Hello, {step.result}!")
|
|
53
|
-
return await step.end_dialog()
|
|
54
|
-
|
|
55
|
-
dialogs.add(TextPrompt("text_prompt"))
|
|
56
|
-
dialogs.add(WaterfallDialog("main", [step1, step2]))
|
|
57
|
-
```
|
|
58
|
-
|
|
59
|
-
## Release Notes
|
|
60
|
-
|
|
61
|
-
<table style="width:100%">
|
|
62
|
-
<tr>
|
|
63
|
-
<th style="width:20%">Version</th>
|
|
64
|
-
<th style="width:20%">Date</th>
|
|
65
|
-
<th style="width:60%">Release Notes</th>
|
|
66
|
-
</tr>
|
|
67
|
-
<tr>
|
|
68
|
-
<td>1.1.0</td>
|
|
69
|
-
<td>2026-06-19</td>
|
|
70
|
-
<td>
|
|
71
|
-
<a href="https://github.com/microsoft/Agents-for-python/blob/main/changelog.md#microsoft-365-agents-sdk-for-python---release-notes-v110">
|
|
72
|
-
1.1.0 Release Notes
|
|
73
|
-
</a>
|
|
74
|
-
</td>
|
|
75
|
-
</tr>
|
|
76
|
-
<tr>
|
|
77
|
-
<td>1.0.0</td>
|
|
78
|
-
<td>2026-05-22</td>
|
|
79
|
-
<td>
|
|
80
|
-
<a href="https://github.com/microsoft/Agents-for-python/blob/main/changelog.md#microsoft-365-agents-sdk-for-python---release-notes-v100">
|
|
81
|
-
1.0.0 Release Notes
|
|
82
|
-
</a>
|
|
83
|
-
</td>
|
|
84
|
-
</tr>
|
|
85
|
-
</table>
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|