Skip to content

Commit 37da8b5

Browse files
authored
Merge pull request microsoft#428 from microsoft/macae-v3-dev-marktayl
feat: Macae v3 dev marktayl
2 parents a4a3599 + b466161 commit 37da8b5

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

53 files changed

+1964
-1354
lines changed

data/agent_teams/hr.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"id": "3",
33
"team_id": "team-3",
4-
"name": "Retail Customer Success Team",
4+
"name": "Human Resources Team",
55
"status": "visible",
66
"created": "",
77
"created_by": "",
@@ -43,7 +43,7 @@
4343
"input_key": "",
4444
"type": "",
4545
"name": "ProxyAgent",
46-
"deployment_name": "",
46+
"deployment_name": "gpt-4.1",
4747
"icon": "",
4848
"system_message": "",
4949
"description": "",

data/agent_teams/new 29.txt

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
Tasks:
2+
3+
Done: Make 3 teams upload work to cosmos (HR, Marketing, Retail). We will load this Cosmos data on deploy as default teams.
4+
Done: - call "/socket/{process_id}" (start_comms) to setup websocket
5+
Done: Make sure that a team is always selected - start with the hr.json team
6+
7+
call init_team API for the currently loaded team on App start -
8+
Spinner / team-loading should display until this call returns (user should not be able to input tasks)
9+
<takes about 20 seconds> - say something like "team loading" with spinner
10+
FE: send unload current team API and call init team for team switch - sending select_team(new team id)
11+
spin while waiting for return of API
12+
BE: unload old team - load new team - return status
13+
14+
BE: For Francia - implement get_plans to fill in history from cosmos
15+
16+
BE: Create a teams container in Cosmos and move all loaded team definitions there
17+
18+
Implement saving of plan to cosmos -> history in...
19+
20+
================ Request submit flow ======================
21+
on request submission call "/create_plan" (process_request)
22+
This will return immediately - move to other page and display spinner -> "creating plan"
23+
Socket will start receiving messages ->
24+
Stream plan output into main window
25+
26+
Will receive the PlanApprovalRequest message
27+
Enable accept / reject UI
28+
Send PlanApprovalResponse message when user answers
29+
30+
If not approved
31+
BE: plan will cancel on backend
32+
FE: - enable input again for fresh request
33+
Call input_request API on backend again (just like inputing any request)
34+
35+
If approved:
36+
Display plan steps in right pane if approved
37+
=============================================================
38+
39+
================== Message Streaming ========================
40+
Process socket message routing to display agent output
41+
See message types in src\backend\v3\models\messages.py
42+
for each message from agent - process stream then rollup
43+
44+
On FinalResultMessage
45+
display final result with all agent output in rollups by agent above
46+
==============================================================
47+
48+

docs/mcp_server.md

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
Capturing the notes from auth install before deleting for docs...
2+
3+
### Auth section:
4+
Requires and app registration as in azure_app_service_auth_setup.md so not deployed by default.
5+
6+
To setup basic auth with FastMCP - bearer token - you can integrate with Azure by using it as your token provider.
7+
8+
``` from fastmcp.server.auth import JWTVerifier```
9+
10+
```
11+
auth = JWTVerifier(
12+
jwks_uri="https://login.microsoftonline.com/52b39610-0746-4c25-a83d-d4f89fadedfe/discovery/v2.0/keys",
13+
#issuer="https://login.microsoftonline.com/52b39610-0746-4c25-a83d-d4f89fadedfe/v2.0",
14+
# This issuer is not correct in the docs. Found by decoding the token.
15+
issuer="https://sts.windows.net/52b39610-0746-4c25-a83d-d4f89fadedfe/",
16+
algorithm="RS256",
17+
audience="api://7a95e70b-062e-4cd3-a88c-603fc70e1c73"
18+
)
19+
```
20+
21+
Requires env vars:
22+
```
23+
export MICROSOFT_CLIENT_ID="your-client-id"
24+
export MICROSOFT_CLIENT_SECRET="your-client-secret"
25+
export MICROSOFT_TENANT="common" # Or your tenant ID
26+
```
27+
28+
```mcp = FastMCP("My MCP Server", auth=auth)```
29+
30+
For more complex and production - supports OAuth and PKCE
31+
32+
Enabled through MCP enabled base - see lifecycle.py
33+
34+

0 commit comments

Comments
 (0)