github analyzed b66cd08

aws-samples/sample-strands-agent-with-agentcore

github

Reference architecture for agentic AI chatbots with Strands Agents and Amazon Bedrock AgentCore

maintainer
aws-samples
license
MIT
first seen
2026-06-10
last seen
2026-06-17
releases · 30d
0
short id

Drift inferred · capture-to-capture

  1. HIGH code analysis flagged committed secret ×2, dynamic code execution ×4 in aws-samples/sample-strands-agent-with-agentcore
  2. HIGH code analysis flagged committed secret ×2, dynamic code execution ×4 in aws-samples/sample-strands-agent-with-agentcore
capabilities 0 tools
transport streamable-http · http counts 0 tools · 0 res · 0 prompts permission surface via code analysis

no tools enumerated yet for this server.

skills & danger signals github-tarball
prompt-surface shipped agent-instruction files + hidden-content / dangerous-code findings — quoted from the analyzed source

analyzed commit b66cd08 · analyzer v18 · 1h ago

skills & prompt files 24

danger signals7

code evidence vv1.0.0 · github-tarball
evidence-backed findings quoted directly from the published source artifact — not inferred

filesystem 37

  • fs aws-samples-sample-strands-agent-with-agentcore-b66cd08/agentcore/a2a-agents/code-agent/src/main.py :22 from pathlib import Path
  • fs aws-samples-sample-strands-agent-with-agentcore-b66cd08/agentcore/a2a-agents/research-agent/src/main.py :18 from pathlib import Path
  • fs aws-samples-sample-strands-agent-with-agentcore-b66cd08/agentcore/a2a-agents/research-agent/src/report_manager.py :17 from pathlib import Path
  • fs aws-samples-sample-strands-agent-with-agentcore-b66cd08/agentcore/a2a-agents/research-agent/src/tools/markdown_writer.py :129 with open(file_path, 'r', encoding='utf-8') as f:
  • fs aws-samples-sample-strands-agent-with-agentcore-b66cd08/chatbot-app/agentcore/src/agent/factory/session_manager_factory.py :30 from pathlib import Path
  • fs aws-samples-sample-strands-agent-with-agentcore-b66cd08/chatbot-app/agentcore/src/agent/processor/multimodal_builder.py :39 doc = pymupdf.open(stream=file_bytes, filetype="pdf")
  • fs aws-samples-sample-strands-agent-with-agentcore-b66cd08/chatbot-app/agentcore/src/builtin_tools/code_interpreter_tool.py :220 f"with open('{filename}', 'wb') as _f:\n"
  • fs aws-samples-sample-strands-agent-with-agentcore-b66cd08/chatbot-app/agentcore/src/builtin_tools/excel_spreadsheet_tool.py :1147 with open(xlsx_path, 'wb') as f:
  • fs aws-samples-sample-strands-agent-with-agentcore-b66cd08/chatbot-app/agentcore/src/builtin_tools/lib/excel_recalc.py :13 from pathlib import Path
  • fs aws-samples-sample-strands-agent-with-agentcore-b66cd08/chatbot-app/agentcore/src/builtin_tools/lib/pptx_engine.py :20 import shutil
  • fs aws-samples-sample-strands-agent-with-agentcore-b66cd08/chatbot-app/agentcore/src/builtin_tools/powerpoint_presentation_tool.py :791 with open(pptx_path, "wb") as f:
  • fs aws-samples-sample-strands-agent-with-agentcore-b66cd08/chatbot-app/agentcore/src/builtin_tools/word_document_tool.py :931 with z.open('word/comments.xml') as f:
  • fs aws-samples-sample-strands-agent-with-agentcore-b66cd08/chatbot-app/agentcore/src/main.py :13 from pathlib import Path
  • fs aws-samples-sample-strands-agent-with-agentcore-b66cd08/chatbot-app/agentcore/src/routers/tools.py :12 from pathlib import Path
  • fs aws-samples-sample-strands-agent-with-agentcore-b66cd08/chatbot-app/agentcore/src/skill/skill_registry.py :181 with open(full_path, "r", encoding="utf-8") as f:
  • fs aws-samples-sample-strands-agent-with-agentcore-b66cd08/chatbot-app/agentcore/src/streaming/agui_event_processor.py :1072 with open(file_path, "rb") as file:
  • fs aws-samples-sample-strands-agent-with-agentcore-b66cd08/chatbot-app/agentcore/src/workspace/base_manager.py :250 with open('{ci_path}', 'wb') as f:
  • fs aws-samples-sample-strands-agent-with-agentcore-b66cd08/infra/modules/registry/lambda/registry-manager.zip!/bin/jp.py :30 with open(args.filename, 'r') as f:
  • fs aws-samples-sample-strands-agent-with-agentcore-b66cd08/infra/modules/registry/lambda/registry-manager.zip!/boto3/compat.py :40 os.remove(new_filename)
  • fs aws-samples-sample-strands-agent-with-agentcore-b66cd08/infra/modules/registry/lambda/registry-manager.zip!/boto3/s3/inject.py :633 with open('filename', 'rb') as data:
  • fs aws-samples-sample-strands-agent-with-agentcore-b66cd08/infra/modules/registry/lambda/registry-manager.zip!/botocore/credentials.py :2111 with open(auth_token_file_path) as token_file:
  • fs aws-samples-sample-strands-agent-with-agentcore-b66cd08/infra/modules/registry/lambda/registry-manager.zip!/botocore/eventstream.py :565 with open('output', 'wb') as f:
  • fs aws-samples-sample-strands-agent-with-agentcore-b66cd08/infra/modules/registry/lambda/registry-manager.zip!/botocore/handlers.py :768 checksum = calculate_tree_hash(open('your_file.txt', 'rb'))
  • fs aws-samples-sample-strands-agent-with-agentcore-b66cd08/infra/modules/registry/lambda/registry-manager.zip!/botocore/model.py :317 open('/path/to/service-description-model.json'))
  • fs aws-samples-sample-strands-agent-with-agentcore-b66cd08/infra/modules/registry/lambda/registry-manager.zip!/botocore/signers.py :375 private_key = open('private_key.pem', 'r').read()
  • fs aws-samples-sample-strands-agent-with-agentcore-b66cd08/infra/modules/registry/lambda/registry-manager.zip!/botocore/utils.py :31 from pathlib import Path
  • fs aws-samples-sample-strands-agent-with-agentcore-b66cd08/infra/modules/registry/lambda/registry-manager.zip!/dateutil/tz/tz.py :464 fileobj = open(fileobj, 'rb')
  • fs aws-samples-sample-strands-agent-with-agentcore-b66cd08/infra/modules/registry/lambda/registry-manager.zip!/dateutil/zoneinfo/__init__.py :33 with TarFile.open(fileobj=zonefile_stream) as tf:
  • fs aws-samples-sample-strands-agent-with-agentcore-b66cd08/infra/modules/registry/lambda/registry-manager.zip!/dateutil/zoneinfo/rebuild.py :4 import shutil
  • fs aws-samples-sample-strands-agent-with-agentcore-b66cd08/infra/modules/registry/lambda/registry-manager.zip!/s3transfer/__init__.py :265 f = open(filename, 'rb')
  • fs aws-samples-sample-strands-agent-with-agentcore-b66cd08/infra/modules/registry/lambda/registry-manager.zip!/s3transfer/compat.py :24 os.remove(new_filename)
  • fs aws-samples-sample-strands-agent-with-agentcore-b66cd08/infra/modules/registry/lambda/registry-manager.zip!/s3transfer/processpool.py :991 with open(filename, 'rb+') as f:
  • fs aws-samples-sample-strands-agent-with-agentcore-b66cd08/infra/modules/registry/lambda/registry-manager.zip!/s3transfer/utils.py :286 def open(self, filename, mode):
  • fs aws-samples-sample-strands-agent-with-agentcore-b66cd08/infra/modules/registry/lambda/registry-manager.zip!/urllib3/_request_methods.py :215 'realfile': ('barfile.txt', open('realfile').read()),
  • fs aws-samples-sample-strands-agent-with-agentcore-b66cd08/infra/modules/registry/lambda/registry-manager.zip!/urllib3/contrib/emscripten/fetch.py :522 js_xhr.open(request.method, request.url, False)
  • fs aws-samples-sample-strands-agent-with-agentcore-b66cd08/infra/modules/registry/lambda/registry-manager.zip!/urllib3/fields.py :216 'realfile': ('barfile.txt', open('realfile').read()),
  • fs aws-samples-sample-strands-agent-with-agentcore-b66cd08/infra/modules/registry/lambda/registry-manager.zip!/urllib3/util/ssl_.py :452 with open(key_file) as f:

shell / exec 6

  • shell aws-samples-sample-strands-agent-with-agentcore-b66cd08/chatbot-app/agentcore/src/builtin_tools/excel_spreadsheet_tool.py :1110 import subprocess
  • shell aws-samples-sample-strands-agent-with-agentcore-b66cd08/chatbot-app/agentcore/src/builtin_tools/lib/excel_recalc.py :11 import subprocess
  • shell aws-samples-sample-strands-agent-with-agentcore-b66cd08/chatbot-app/agentcore/src/builtin_tools/powerpoint_presentation_tool.py :774 import subprocess
  • shell aws-samples-sample-strands-agent-with-agentcore-b66cd08/chatbot-app/agentcore/src/builtin_tools/word_document_tool.py :1164 import subprocess
  • shell aws-samples-sample-strands-agent-with-agentcore-b66cd08/infra/modules/registry/lambda/registry-manager.zip!/botocore/credentials.py :20 import subprocess
  • shell aws-samples-sample-strands-agent-with-agentcore-b66cd08/infra/modules/registry/lambda/registry-manager.zip!/dateutil/zoneinfo/rebuild.py :6 from subprocess import check_call, check_output

network 42

  • net aws-samples-sample-strands-agent-with-agentcore-b66cd08/agentcore/a2a-agents/research-agent/src/tools/markdown_writer.py :143 from urllib.parse import urlparse
  • net aws-samples-sample-strands-agent-with-agentcore-b66cd08/agentcore/a2a-agents/research-agent/src/tools/web_search_tools.py :153 import httpx
  • net aws-samples-sample-strands-agent-with-agentcore-b66cd08/agentcore/gateway-tools/lambda-functions/google-search/lambda_function.py :14 import requests # noqa: E402
  • net aws-samples-sample-strands-agent-with-agentcore-b66cd08/agentcore/gateway-tools/lambda-functions/tavily/lambda_function.py :14 import requests # noqa: E402
  • net aws-samples-sample-strands-agent-with-agentcore-b66cd08/agentcore/gateway-tools/lambda-functions/weather/lambda_function.py :8 from urllib.parse import urlencode
  • net aws-samples-sample-strands-agent-with-agentcore-b66cd08/agentcore/gateway-tools/lambda-functions/web-search/lambda_function.py :83 import urllib.request
  • net aws-samples-sample-strands-agent-with-agentcore-b66cd08/agentcore/mcp-runtime/src/agentcore_oauth.py :257 performing the provider API call (raises httpx.HTTPStatusError
  • net aws-samples-sample-strands-agent-with-agentcore-b66cd08/agentcore/mcp-runtime/src/calendar_tools.py :18 import httpx
  • net aws-samples-sample-strands-agent-with-agentcore-b66cd08/agentcore/mcp-runtime/src/github_tools.py :46 import httpx
  • net aws-samples-sample-strands-agent-with-agentcore-b66cd08/agentcore/mcp-runtime/src/gmail_mcp_server.py :11 import httpx
  • net aws-samples-sample-strands-agent-with-agentcore-b66cd08/agentcore/mcp-runtime/src/gmail_tools.py :20 import httpx
  • net aws-samples-sample-strands-agent-with-agentcore-b66cd08/agentcore/mcp-runtime/src/notion_tools.py :40 import httpx
  • net aws-samples-sample-strands-agent-with-agentcore-b66cd08/chatbot-app/agentcore/src/a2a_tools.py :19 import httpx
  • net aws-samples-sample-strands-agent-with-agentcore-b66cd08/chatbot-app/agentcore/src/agent/gateway/mcp_client.py :9 import httpx
  • net aws-samples-sample-strands-agent-with-agentcore-b66cd08/infra/modules/registry/lambda/index.py :14 import urllib.request
  • net aws-samples-sample-strands-agent-with-agentcore-b66cd08/infra/modules/registry/lambda/registry-manager.zip!/boto3/compat.py :16 import socket
  • net aws-samples-sample-strands-agent-with-agentcore-b66cd08/infra/modules/registry/lambda/registry-manager.zip!/botocore/args.py :22 import socket
  • net aws-samples-sample-strands-agent-with-agentcore-b66cd08/infra/modules/registry/lambda/registry-manager.zip!/botocore/compat.py :40 from urllib.parse import (
  • net aws-samples-sample-strands-agent-with-agentcore-b66cd08/infra/modules/registry/lambda/registry-manager.zip!/botocore/exceptions.py :15 from botocore.vendored import requests
  • net aws-samples-sample-strands-agent-with-agentcore-b66cd08/infra/modules/registry/lambda/registry-manager.zip!/botocore/httpsession.py :4 import socket
  • net aws-samples-sample-strands-agent-with-agentcore-b66cd08/infra/modules/registry/lambda/registry-manager.zip!/botocore/monitoring.py :552 :type socket: socket.socket
  • net aws-samples-sample-strands-agent-with-agentcore-b66cd08/infra/modules/registry/lambda/registry-manager.zip!/botocore/retryhandler.py :31 # to get more specific exceptions from requests we can update
  • net aws-samples-sample-strands-agent-with-agentcore-b66cd08/infra/modules/registry/lambda/registry-manager.zip!/botocore/session.py :23 import socket
  • net aws-samples-sample-strands-agent-with-agentcore-b66cd08/infra/modules/registry/lambda/registry-manager.zip!/botocore/utils.py :24 import socket
  • net aws-samples-sample-strands-agent-with-agentcore-b66cd08/infra/modules/registry/lambda/registry-manager.zip!/botocore/vendored/six.py :408 MovedAttribute("urlopen", "urllib2", "urllib.request"),
  • net aws-samples-sample-strands-agent-with-agentcore-b66cd08/infra/modules/registry/lambda/registry-manager.zip!/index.py :14 import urllib.request
  • net aws-samples-sample-strands-agent-with-agentcore-b66cd08/infra/modules/registry/lambda/registry-manager.zip!/s3transfer/compat.py :16 import socket
  • net aws-samples-sample-strands-agent-with-agentcore-b66cd08/infra/modules/registry/lambda/registry-manager.zip!/s3transfer/utils.py :18 import socket
  • net aws-samples-sample-strands-agent-with-agentcore-b66cd08/infra/modules/registry/lambda/registry-manager.zip!/six.py :408 MovedAttribute("urlopen", "urllib2", "urllib.request"),
  • net aws-samples-sample-strands-agent-with-agentcore-b66cd08/infra/modules/registry/lambda/registry-manager.zip!/urllib3/_request_methods.py :5 from urllib.parse import urlencode
  • net aws-samples-sample-strands-agent-with-agentcore-b66cd08/infra/modules/registry/lambda/registry-manager.zip!/urllib3/connection.py :8 import socket
  • net aws-samples-sample-strands-agent-with-agentcore-b66cd08/infra/modules/registry/lambda/registry-manager.zip!/urllib3/connectionpool.py :10 from socket import timeout as SocketTimeout
  • net aws-samples-sample-strands-agent-with-agentcore-b66cd08/infra/modules/registry/lambda/registry-manager.zip!/urllib3/contrib/pyopenssl.py :58 from socket import socket as socket_cls
  • net aws-samples-sample-strands-agent-with-agentcore-b66cd08/infra/modules/registry/lambda/registry-manager.zip!/urllib3/contrib/socks.py :61 from socket import timeout as SocketTimeout
  • net aws-samples-sample-strands-agent-with-agentcore-b66cd08/infra/modules/registry/lambda/registry-manager.zip!/urllib3/exceptions.py :3 import socket
  • net aws-samples-sample-strands-agent-with-agentcore-b66cd08/infra/modules/registry/lambda/registry-manager.zip!/urllib3/poolmanager.py :8 from urllib.parse import urljoin
  • net aws-samples-sample-strands-agent-with-agentcore-b66cd08/infra/modules/registry/lambda/registry-manager.zip!/urllib3/response.py :7 import socket
  • net aws-samples-sample-strands-agent-with-agentcore-b66cd08/infra/modules/registry/lambda/registry-manager.zip!/urllib3/util/connection.py :3 import socket
  • net aws-samples-sample-strands-agent-with-agentcore-b66cd08/infra/modules/registry/lambda/registry-manager.zip!/urllib3/util/ssl_.py :6 import socket
  • net aws-samples-sample-strands-agent-with-agentcore-b66cd08/infra/modules/registry/lambda/registry-manager.zip!/urllib3/util/ssltransport.py :4 import socket
  • net aws-samples-sample-strands-agent-with-agentcore-b66cd08/infra/modules/registry/lambda/registry-manager.zip!/urllib3/util/timeout.py :6 from socket import getdefaulttimeout
  • net aws-samples-sample-strands-agent-with-agentcore-b66cd08/infra/modules/registry/lambda/registry-manager.zip!/urllib3/util/wait.py :4 import socket

secrets 4

  • secrets aws-samples-sample-strands-agent-with-agentcore-b66cd08/chatbot-app/agentcore/src/agents/model_factory.py :85 env_key = os.environ.get("AWS_BEARER_TOKEN_BEDROCK")
  • secrets aws-samples-sample-strands-agent-with-agentcore-b66cd08/infra/modules/registry/lambda/registry-manager.zip!/botocore/credentials.py :16 import getpass
  • secrets aws-samples-sample-strands-agent-with-agentcore-b66cd08/infra/modules/registry/lambda/registry-manager.zip!/botocore/httpsession.py :186 sslkeylogfile = os.environ.get("SSLKEYLOGFILE")
  • secrets aws-samples-sample-strands-agent-with-agentcore-b66cd08/infra/modules/registry/lambda/registry-manager.zip!/urllib3/util/ssl_.py :318 sslkeylogfile = os.path.expandvars(os.environ.get("SSLKEYLOGFILE"))

tool registrations 45

  • list_calendars aws-samples-sample-strands-agent-with-agentcore-b66cd08/agentcore/mcp-runtime/src/calendar_tools.py :196
  • list_events aws-samples-sample-strands-agent-with-agentcore-b66cd08/agentcore/mcp-runtime/src/calendar_tools.py :230
  • get_event aws-samples-sample-strands-agent-with-agentcore-b66cd08/agentcore/mcp-runtime/src/calendar_tools.py :287
  • create_event aws-samples-sample-strands-agent-with-agentcore-b66cd08/agentcore/mcp-runtime/src/calendar_tools.py :312
  • update_event aws-samples-sample-strands-agent-with-agentcore-b66cd08/agentcore/mcp-runtime/src/calendar_tools.py :378
  • delete_event aws-samples-sample-strands-agent-with-agentcore-b66cd08/agentcore/mcp-runtime/src/calendar_tools.py :458
  • quick_add_event aws-samples-sample-strands-agent-with-agentcore-b66cd08/agentcore/mcp-runtime/src/calendar_tools.py :491
  • check_availability aws-samples-sample-strands-agent-with-agentcore-b66cd08/agentcore/mcp-runtime/src/calendar_tools.py :528
  • github_search_repos aws-samples-sample-strands-agent-with-agentcore-b66cd08/agentcore/mcp-runtime/src/github_tools.py :145
  • github_get_repo aws-samples-sample-strands-agent-with-agentcore-b66cd08/agentcore/mcp-runtime/src/github_tools.py :187
  • github_list_issues aws-samples-sample-strands-agent-with-agentcore-b66cd08/agentcore/mcp-runtime/src/github_tools.py :230
  • github_get_issue aws-samples-sample-strands-agent-with-agentcore-b66cd08/agentcore/mcp-runtime/src/github_tools.py :287
  • github_list_pulls aws-samples-sample-strands-agent-with-agentcore-b66cd08/agentcore/mcp-runtime/src/github_tools.py :331
  • github_get_pull aws-samples-sample-strands-agent-with-agentcore-b66cd08/agentcore/mcp-runtime/src/github_tools.py :383
  • github_get_file aws-samples-sample-strands-agent-with-agentcore-b66cd08/agentcore/mcp-runtime/src/github_tools.py :436
  • github_search_code aws-samples-sample-strands-agent-with-agentcore-b66cd08/agentcore/mcp-runtime/src/github_tools.py :502
  • github_create_branch aws-samples-sample-strands-agent-with-agentcore-b66cd08/agentcore/mcp-runtime/src/github_tools.py :544
  • github_push_files aws-samples-sample-strands-agent-with-agentcore-b66cd08/agentcore/mcp-runtime/src/github_tools.py :596
  • github_create_pull_request aws-samples-sample-strands-agent-with-agentcore-b66cd08/agentcore/mcp-runtime/src/github_tools.py :683
  • list_labels aws-samples-sample-strands-agent-with-agentcore-b66cd08/agentcore/mcp-runtime/src/gmail_mcp_server.py :236
  • list_emails aws-samples-sample-strands-agent-with-agentcore-b66cd08/agentcore/mcp-runtime/src/gmail_mcp_server.py :274
  • search_emails aws-samples-sample-strands-agent-with-agentcore-b66cd08/agentcore/mcp-runtime/src/gmail_mcp_server.py :333
  • read_email aws-samples-sample-strands-agent-with-agentcore-b66cd08/agentcore/mcp-runtime/src/gmail_mcp_server.py :388
  • send_email aws-samples-sample-strands-agent-with-agentcore-b66cd08/agentcore/mcp-runtime/src/gmail_mcp_server.py :428
  • draft_email aws-samples-sample-strands-agent-with-agentcore-b66cd08/agentcore/mcp-runtime/src/gmail_mcp_server.py :487
  • delete_email aws-samples-sample-strands-agent-with-agentcore-b66cd08/agentcore/mcp-runtime/src/gmail_mcp_server.py :549
  • bulk_delete_emails aws-samples-sample-strands-agent-with-agentcore-b66cd08/agentcore/mcp-runtime/src/gmail_mcp_server.py :594
  • modify_email aws-samples-sample-strands-agent-with-agentcore-b66cd08/agentcore/mcp-runtime/src/gmail_mcp_server.py :670
  • get_email_thread aws-samples-sample-strands-agent-with-agentcore-b66cd08/agentcore/mcp-runtime/src/gmail_mcp_server.py :735
  • list_labels aws-samples-sample-strands-agent-with-agentcore-b66cd08/agentcore/mcp-runtime/src/gmail_tools.py :222
  • list_emails aws-samples-sample-strands-agent-with-agentcore-b66cd08/agentcore/mcp-runtime/src/gmail_tools.py :259
  • search_emails aws-samples-sample-strands-agent-with-agentcore-b66cd08/agentcore/mcp-runtime/src/gmail_tools.py :317
  • read_email aws-samples-sample-strands-agent-with-agentcore-b66cd08/agentcore/mcp-runtime/src/gmail_tools.py :371
  • send_email aws-samples-sample-strands-agent-with-agentcore-b66cd08/agentcore/mcp-runtime/src/gmail_tools.py :410
  • draft_email aws-samples-sample-strands-agent-with-agentcore-b66cd08/agentcore/mcp-runtime/src/gmail_tools.py :468
  • delete_email aws-samples-sample-strands-agent-with-agentcore-b66cd08/agentcore/mcp-runtime/src/gmail_tools.py :529
  • bulk_delete_emails aws-samples-sample-strands-agent-with-agentcore-b66cd08/agentcore/mcp-runtime/src/gmail_tools.py :573
  • modify_email aws-samples-sample-strands-agent-with-agentcore-b66cd08/agentcore/mcp-runtime/src/gmail_tools.py :636
  • get_email_thread aws-samples-sample-strands-agent-with-agentcore-b66cd08/agentcore/mcp-runtime/src/gmail_tools.py :698
  • notion_search aws-samples-sample-strands-agent-with-agentcore-b66cd08/agentcore/mcp-runtime/src/notion_tools.py :432
  • notion_fetch aws-samples-sample-strands-agent-with-agentcore-b66cd08/agentcore/mcp-runtime/src/notion_tools.py :474
  • notion_create_page aws-samples-sample-strands-agent-with-agentcore-b66cd08/agentcore/mcp-runtime/src/notion_tools.py :529
  • notion_update_page aws-samples-sample-strands-agent-with-agentcore-b66cd08/agentcore/mcp-runtime/src/notion_tools.py :594
  • notion_update_block aws-samples-sample-strands-agent-with-agentcore-b66cd08/agentcore/mcp-runtime/src/notion_tools.py :636
  • notion_append_blocks aws-samples-sample-strands-agent-with-agentcore-b66cd08/agentcore/mcp-runtime/src/notion_tools.py :686

declared dependencies 5

  • mcp@>=1.26.0
  • bedrock-agentcore@*
  • httpx@>=0.25.0
  • boto3@>=1.40.0
  • uvicorn@*