agent-framework-devui 1.0.0b251016__py3-none-any.whl → 1.0.0b251104__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of agent-framework-devui might be problematic. Click here for more details.

@@ -5,7 +5,7 @@
5
5
  <link rel="icon" type="image/svg+xml" href="/agentframework.svg" />
6
6
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
7
7
  <title>Agent Framework Dev UI</title>
8
- <script type="module" crossorigin src="/assets/index-DmL7WSFa.js"></script>
8
+ <script type="module" crossorigin src="/assets/index-D_Y1oSGu.js"></script>
9
9
  <link rel="stylesheet" crossorigin href="/assets/index-CE4pGoXh.css">
10
10
  </head>
11
11
  <body>
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: agent-framework-devui
3
- Version: 1.0.0b251016
3
+ Version: 1.0.0b251104
4
4
  Summary: Debug UI for Microsoft Agent Framework with OpenAI-compatible API server.
5
5
  Author-email: Microsoft <af-support@microsoft.com>
6
6
  Requires-Python: >=3.10
@@ -81,6 +81,19 @@ devui ./agents --port 8080
81
81
 
82
82
  When DevUI starts with no discovered entities, it displays a **sample entity gallery** with curated examples from the Agent Framework repository. You can download these samples, review them, and run them locally to get started quickly.
83
83
 
84
+ ## Using MCP Tools
85
+
86
+ **Important:** Don't use `async with` context managers when creating agents with MCP tools for DevUI - connections will close before execution.
87
+
88
+ ```python
89
+ # ✅ Correct - DevUI handles cleanup automatically
90
+ mcp_tool = MCPStreamableHTTPTool(url="http://localhost:8011/mcp", chat_client=chat_client)
91
+ agent = ChatAgent(tools=mcp_tool)
92
+ serve(entities=[agent])
93
+ ```
94
+
95
+ MCP tools use lazy initialization and connect automatically on first use. DevUI attempts to clean up connections on shutdown
96
+
84
97
  ## Directory Structure
85
98
 
86
99
  For your agents to be discovered by the DevUI, they must be organized in a directory structure like below. Each agent/workflow must have an `__init__.py` that exports the required variable (`agent` or `workflow`).
@@ -189,42 +202,62 @@ Options:
189
202
 
190
203
  Given that DevUI offers an OpenAI Responses API, it internally maps messages and events from Agent Framework to OpenAI Responses API events (in `_mapper.py`). For transparency, this mapping is shown below:
191
204
 
192
- | Agent Framework Content | OpenAI Event/Type | Status |
193
- | ------------------------------- | ---------------------------------------- | -------- |
194
- | `TextContent` | `response.output_text.delta` | Standard |
195
- | `TextReasoningContent` | `response.reasoning_text.delta` | Standard |
196
- | `FunctionCallContent` (initial) | `response.output_item.added` | Standard |
197
- | `FunctionCallContent` (args) | `response.function_call_arguments.delta` | Standard |
198
- | `FunctionResultContent` | `response.function_result.complete` | DevUI |
199
- | `FunctionApprovalRequestContent`| `response.function_approval.requested` | DevUI |
200
- | `FunctionApprovalResponseContent`| `response.function_approval.responded` | DevUI |
201
- | `ErrorContent` | `error` | Standard |
202
- | `UsageContent` | Final `Response.usage` field (not streamed) | Standard |
203
- | `WorkflowEvent` | `response.workflow_event.complete` | DevUI |
204
- | `DataContent` | `response.trace.complete` | DevUI |
205
- | `UriContent` | `response.trace.complete` | DevUI |
206
- | `HostedFileContent` | `response.trace.complete` | DevUI |
207
- | `HostedVectorStoreContent` | `response.trace.complete` | DevUI |
208
-
209
- - **Standard** = OpenAI Responses API spec
210
- - **DevUI** = Custom extensions for Agent Framework features (workflows, traces, function approvals)
205
+ | OpenAI Event/Type | Agent Framework Content | Status |
206
+ | ------------------------------------------------------------ | --------------------------------- | -------- |
207
+ | | **Lifecycle Events** | |
208
+ | `response.created` + `response.in_progress` | `AgentStartedEvent` | OpenAI |
209
+ | `response.completed` | `AgentCompletedEvent` | OpenAI |
210
+ | `response.failed` | `AgentFailedEvent` | OpenAI |
211
+ | `response.created` + `response.in_progress` | `WorkflowStartedEvent` | OpenAI |
212
+ | `response.completed` | `WorkflowCompletedEvent` | OpenAI |
213
+ | `response.failed` | `WorkflowFailedEvent` | OpenAI |
214
+ | | **Content Types** | |
215
+ | `response.content_part.added` + `response.output_text.delta` | `TextContent` | OpenAI |
216
+ | `response.reasoning_text.delta` | `TextReasoningContent` | OpenAI |
217
+ | `response.output_item.added` | `FunctionCallContent` (initial) | OpenAI |
218
+ | `response.function_call_arguments.delta` | `FunctionCallContent` (args) | OpenAI |
219
+ | `response.function_result.complete` | `FunctionResultContent` | DevUI |
220
+ | `response.function_approval.requested` | `FunctionApprovalRequestContent` | DevUI |
221
+ | `response.function_approval.responded` | `FunctionApprovalResponseContent` | DevUI |
222
+ | `error` | `ErrorContent` | OpenAI |
223
+ | Final `Response.usage` field (not streamed) | `UsageContent` | OpenAI |
224
+ | | **Workflow Events** | |
225
+ | `response.output_item.added` (ExecutorActionItem)* | `ExecutorInvokedEvent` | OpenAI |
226
+ | `response.output_item.done` (ExecutorActionItem)* | `ExecutorCompletedEvent` | OpenAI |
227
+ | `response.output_item.done` (ExecutorActionItem with error)* | `ExecutorFailedEvent` | OpenAI |
228
+ | `response.workflow_event.complete` | `WorkflowEvent` (other) | DevUI |
229
+ | `response.trace.complete` | `WorkflowStatusEvent` | DevUI |
230
+ | `response.trace.complete` | `WorkflowWarningEvent` | DevUI |
231
+ | | **Trace Content** | |
232
+ | `response.trace.complete` | `DataContent` | DevUI |
233
+ | `response.trace.complete` | `UriContent` | DevUI |
234
+ | `response.trace.complete` | `HostedFileContent` | DevUI |
235
+ | `response.trace.complete` | `HostedVectorStoreContent` | DevUI |
236
+
237
+ \*Uses standard OpenAI event structure but carries DevUI-specific `ExecutorActionItem` payload
238
+
239
+ - **OpenAI** = Standard OpenAI Responses API event types
240
+ - **DevUI** = Custom event types specific to Agent Framework (e.g., workflows, traces, function approvals)
211
241
 
212
242
  ### OpenAI Responses API Compliance
213
243
 
214
244
  DevUI follows the OpenAI Responses API specification for maximum compatibility:
215
245
 
216
- **Standard OpenAI Types Used:**
246
+ **OpenAI Standard Event Types Used:**
247
+
217
248
  - `ResponseOutputItemAddedEvent` - Output item notifications (function calls and results)
249
+ - `ResponseOutputItemDoneEvent` - Output item completion notifications
218
250
  - `Response.usage` - Token usage (in final response, not streamed)
219
251
  - All standard text, reasoning, and function call events
220
252
 
221
253
  **Custom DevUI Extensions:**
254
+
222
255
  - `response.function_approval.requested` - Function approval requests (for interactive approval workflows)
223
256
  - `response.function_approval.responded` - Function approval responses (user approval/rejection)
224
257
  - `response.workflow_event.complete` - Agent Framework workflow events
225
258
  - `response.trace.complete` - Execution traces and internal content (DataContent, UriContent, hosted files/stores)
226
259
 
227
- These custom extensions are clearly namespaced and can be safely ignored by standard OpenAI clients.
260
+ These custom extensions are clearly namespaced and can be safely ignored by standard OpenAI clients. Note that DevUI also uses standard OpenAI events with custom payloads (e.g., `ExecutorActionItem` within `response.output_item.added`).
228
261
 
229
262
  ### Entity Management
230
263
 
@@ -256,12 +289,14 @@ These custom extensions are clearly namespaced and can be safely ignored by stan
256
289
  DevUI is designed as a **sample application for local development** and should not be exposed to untrusted networks or used in production environments.
257
290
 
258
291
  **Security features:**
292
+
259
293
  - Only loads entities from local directories or in-memory registration
260
294
  - No remote code execution capabilities
261
295
  - Binds to localhost (127.0.0.1) by default
262
296
  - All samples must be manually downloaded and reviewed before running
263
297
 
264
298
  **Best practices:**
299
+
265
300
  - Never expose DevUI to the internet
266
301
  - Review all agent/workflow code before running
267
302
  - Only load entities from trusted sources
@@ -0,0 +1,23 @@
1
+ agent_framework_devui/__init__.py,sha256=Hk2ddFHRvxe6Ytz59g2dKCs-wreG7pi7DuMgbUIeqiY,5079
2
+ agent_framework_devui/_cli.py,sha256=UnQ6xRfDnaZcDnlI2GCiFKjoZ1mkOqpPctEaZ9Zyhxc,4604
3
+ agent_framework_devui/_conversations.py,sha256=TvnQgc9sCRf-kcLnMjmIqjfi7zqqK-5fWjZvJOWErOY,18045
4
+ agent_framework_devui/_discovery.py,sha256=IRcYD2gBNaNV4zNFfLNMeqizkII0eBQ5hP9SezDJYEc,29531
5
+ agent_framework_devui/_executor.py,sha256=IbAMMd15m8PIGsxCqK287E_oq8nMc9YGbd-7dZtTmA0,28254
6
+ agent_framework_devui/_mapper.py,sha256=bF_kgyjRQGRXb-aybsxVlRYTdBW1zyfa8sTllfr0xhw,53326
7
+ agent_framework_devui/_server.py,sha256=WX2fecqfxXx-6XzJLxEHLRTGObqp96D7-Yys0Cux7y8,29181
8
+ agent_framework_devui/_session.py,sha256=VgmCeT3XBNds4JCCbZeH9gruGdyfUdnVgJH_DRMLNm4,6039
9
+ agent_framework_devui/_tracing.py,sha256=ZoYKYomFB0VjiEBFgPsSu2ocpnPushWczKl5QndSUjQ,6152
10
+ agent_framework_devui/_utils.py,sha256=Z1aJFsSXMZwUtA7w4pm0oCat3KWCeRw7ED9gCFQdhsw,18874
11
+ agent_framework_devui/models/__init__.py,sha256=yFfGAji5nnmxw-8KPyv6f7uLPTLSoIU30jAJ5u3kny0,2492
12
+ agent_framework_devui/models/_discovery_models.py,sha256=V78TKx8Oq6Zo1zggI6XcQ7U95OOQ8rGQckprAGH5sRM,1637
13
+ agent_framework_devui/models/_openai_custom.py,sha256=1VCGxZqReEIm6h0aC1Az5PaYqj9Akj5aXAopOe-c58c,7455
14
+ agent_framework_devui/ui/agentframework.svg,sha256=ViWg7Wee6B3X4_yVOhgmuLBtEmWx2L48Q8QSmtbYQT0,5361
15
+ agent_framework_devui/ui/index.html,sha256=b1pTCqj40b_eRoyhKSCDCbXbf0TDrIrbK9rUV0q6db8,479
16
+ agent_framework_devui/ui/vite.svg,sha256=SnSK_UQ5GLsWWRyDTEAdrjPoeGGrXbrQgRw6O0qSFPs,1497
17
+ agent_framework_devui/ui/assets/index-CE4pGoXh.css,sha256=0GntI9ZABqCobFN-5_G-S8AVDFGgGcHtcZYz4Uctrrk,97732
18
+ agent_framework_devui/ui/assets/index-D_Y1oSGu.js,sha256=27B8a2I_KDl6C6mv9nLafwyGUd0vBOvnrruddVsDwTM,725481
19
+ agent_framework_devui-1.0.0b251104.dist-info/entry_points.txt,sha256=H6Vq4nNyU8GryiFv215LfIF9pjVnow9Ono-pJzZ6zsI,52
20
+ agent_framework_devui-1.0.0b251104.dist-info/licenses/LICENSE,sha256=ws_MuBL-SCEBqPBFl9_FqZkaaydIJmxHrJG2parhU4M,1141
21
+ agent_framework_devui-1.0.0b251104.dist-info/WHEEL,sha256=G2gURzTEtmeR8nrdXUJfNiB3VYVxigPQ-bEQujpNiNs,82
22
+ agent_framework_devui-1.0.0b251104.dist-info/METADATA,sha256=RMb3kYZi7ziHYb09ybThNiBX94M8-0HvrkhP11ch8vA,14090
23
+ agent_framework_devui-1.0.0b251104.dist-info/RECORD,,