{"nbformat":4,"nbformat_minor":0,"metadata":{"colab":{"provenance":[],"mount_file_id":"1OPrqLp705uqzI1kBDZgXfbb33SeNaw_w","authorship_tag":"ABX9TyPVPmiiLR7zXhhYagLavPvh"},"kernelspec":{"name":"python3","display_name":"Python 3"},"language_info":{"name":"python"}},"cells":[{"cell_type":"code","execution_count":null,"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"collapsed":true,"id":"dyrVIqQ5EO6-","executionInfo":{"status":"ok","timestamp":1747918627561,"user_tz":-120,"elapsed":17192,"user":{"displayName":"Diogo Resende","userId":"05706604408624562002"}},"outputId":"b028d8aa-a171-45b9-c579-4c4cf2698a1d"},"outputs":[{"output_type":"stream","name":"stdout","text":["Collecting openai-agents\n","  Downloading openai_agents-0.0.16-py3-none-any.whl.metadata (8.2 kB)\n","Collecting griffe<2,>=1.5.6 (from openai-agents)\n","  Downloading griffe-1.7.3-py3-none-any.whl.metadata (5.0 kB)\n","Collecting mcp<2,>=1.8.0 (from openai-agents)\n","  Downloading mcp-1.9.0-py3-none-any.whl.metadata (26 kB)\n","Collecting openai>=1.81.0 (from openai-agents)\n","  Downloading openai-1.81.0-py3-none-any.whl.metadata (25 kB)\n","Requirement already satisfied: pydantic<3,>=2.10 in /usr/local/lib/python3.11/dist-packages (from openai-agents) (2.11.4)\n","Requirement already satisfied: requests<3,>=2.0 in /usr/local/lib/python3.11/dist-packages (from openai-agents) (2.32.3)\n","Collecting types-requests<3,>=2.0 (from openai-agents)\n","  Downloading types_requests-2.32.0.20250515-py3-none-any.whl.metadata (2.1 kB)\n","Requirement already satisfied: typing-extensions<5,>=4.12.2 in /usr/local/lib/python3.11/dist-packages (from openai-agents) (4.13.2)\n","Collecting colorama>=0.4 (from griffe<2,>=1.5.6->openai-agents)\n","  Downloading colorama-0.4.6-py2.py3-none-any.whl.metadata (17 kB)\n","Requirement already satisfied: anyio>=4.5 in /usr/local/lib/python3.11/dist-packages (from mcp<2,>=1.8.0->openai-agents) (4.9.0)\n","Collecting httpx-sse>=0.4 (from mcp<2,>=1.8.0->openai-agents)\n","  Downloading httpx_sse-0.4.0-py3-none-any.whl.metadata (9.0 kB)\n","Requirement already satisfied: httpx>=0.27 in /usr/local/lib/python3.11/dist-packages (from mcp<2,>=1.8.0->openai-agents) (0.28.1)\n","Collecting pydantic-settings>=2.5.2 (from mcp<2,>=1.8.0->openai-agents)\n","  Downloading pydantic_settings-2.9.1-py3-none-any.whl.metadata (3.8 kB)\n","Collecting python-multipart>=0.0.9 (from mcp<2,>=1.8.0->openai-agents)\n","  Downloading python_multipart-0.0.20-py3-none-any.whl.metadata (1.8 kB)\n","Collecting sse-starlette>=1.6.1 (from mcp<2,>=1.8.0->openai-agents)\n","  Downloading sse_starlette-2.3.5-py3-none-any.whl.metadata (7.8 kB)\n","Collecting starlette>=0.27 (from mcp<2,>=1.8.0->openai-agents)\n","  Downloading starlette-0.46.2-py3-none-any.whl.metadata (6.2 kB)\n","Collecting uvicorn>=0.23.1 (from mcp<2,>=1.8.0->openai-agents)\n","  Downloading uvicorn-0.34.2-py3-none-any.whl.metadata (6.5 kB)\n","Requirement already satisfied: distro<2,>=1.7.0 in /usr/local/lib/python3.11/dist-packages (from openai>=1.81.0->openai-agents) (1.9.0)\n","Requirement already satisfied: jiter<1,>=0.4.0 in /usr/local/lib/python3.11/dist-packages (from openai>=1.81.0->openai-agents) (0.9.0)\n","Requirement already satisfied: sniffio in /usr/local/lib/python3.11/dist-packages (from openai>=1.81.0->openai-agents) (1.3.1)\n","Requirement already satisfied: tqdm>4 in /usr/local/lib/python3.11/dist-packages (from openai>=1.81.0->openai-agents) (4.67.1)\n","Requirement already satisfied: annotated-types>=0.6.0 in /usr/local/lib/python3.11/dist-packages (from pydantic<3,>=2.10->openai-agents) (0.7.0)\n","Requirement already satisfied: pydantic-core==2.33.2 in /usr/local/lib/python3.11/dist-packages (from pydantic<3,>=2.10->openai-agents) (2.33.2)\n","Requirement already satisfied: typing-inspection>=0.4.0 in /usr/local/lib/python3.11/dist-packages (from pydantic<3,>=2.10->openai-agents) (0.4.0)\n","Requirement already satisfied: charset-normalizer<4,>=2 in /usr/local/lib/python3.11/dist-packages (from requests<3,>=2.0->openai-agents) (3.4.2)\n","Requirement already satisfied: idna<4,>=2.5 in /usr/local/lib/python3.11/dist-packages (from requests<3,>=2.0->openai-agents) (3.10)\n","Requirement already satisfied: urllib3<3,>=1.21.1 in /usr/local/lib/python3.11/dist-packages (from requests<3,>=2.0->openai-agents) (2.4.0)\n","Requirement already satisfied: certifi>=2017.4.17 in /usr/local/lib/python3.11/dist-packages (from requests<3,>=2.0->openai-agents) (2025.4.26)\n","Requirement already satisfied: httpcore==1.* in /usr/local/lib/python3.11/dist-packages (from httpx>=0.27->mcp<2,>=1.8.0->openai-agents) (1.0.9)\n","Requirement already satisfied: h11>=0.16 in /usr/local/lib/python3.11/dist-packages (from httpcore==1.*->httpx>=0.27->mcp<2,>=1.8.0->openai-agents) (0.16.0)\n","Collecting python-dotenv>=0.21.0 (from pydantic-settings>=2.5.2->mcp<2,>=1.8.0->openai-agents)\n","  Downloading python_dotenv-1.1.0-py3-none-any.whl.metadata (24 kB)\n","Requirement already satisfied: click>=7.0 in /usr/local/lib/python3.11/dist-packages (from uvicorn>=0.23.1->mcp<2,>=1.8.0->openai-agents) (8.2.0)\n","Downloading openai_agents-0.0.16-py3-none-any.whl (120 kB)\n","\u001b[2K   \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m120.2/120.2 kB\u001b[0m \u001b[31m5.7 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n","\u001b[?25hDownloading griffe-1.7.3-py3-none-any.whl (129 kB)\n","\u001b[2K   \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m129.3/129.3 kB\u001b[0m \u001b[31m6.5 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n","\u001b[?25hDownloading mcp-1.9.0-py3-none-any.whl (125 kB)\n","\u001b[2K   \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m125.1/125.1 kB\u001b[0m \u001b[31m7.3 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n","\u001b[?25hDownloading openai-1.81.0-py3-none-any.whl (717 kB)\n","\u001b[2K   \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m717.5/717.5 kB\u001b[0m \u001b[31m25.9 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n","\u001b[?25hDownloading types_requests-2.32.0.20250515-py3-none-any.whl (20 kB)\n","Downloading colorama-0.4.6-py2.py3-none-any.whl (25 kB)\n","Downloading httpx_sse-0.4.0-py3-none-any.whl (7.8 kB)\n","Downloading pydantic_settings-2.9.1-py3-none-any.whl (44 kB)\n","\u001b[2K   \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m44.4/44.4 kB\u001b[0m \u001b[31m1.8 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n","\u001b[?25hDownloading python_multipart-0.0.20-py3-none-any.whl (24 kB)\n","Downloading sse_starlette-2.3.5-py3-none-any.whl (10 kB)\n","Downloading starlette-0.46.2-py3-none-any.whl (72 kB)\n","\u001b[2K   \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m72.0/72.0 kB\u001b[0m \u001b[31m4.6 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n","\u001b[?25hDownloading uvicorn-0.34.2-py3-none-any.whl (62 kB)\n","\u001b[2K   \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m62.5/62.5 kB\u001b[0m \u001b[31m3.8 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n","\u001b[?25hDownloading python_dotenv-1.1.0-py3-none-any.whl (20 kB)\n","Installing collected packages: uvicorn, types-requests, python-multipart, python-dotenv, httpx-sse, colorama, starlette, griffe, sse-starlette, pydantic-settings, openai, mcp, openai-agents\n","  Attempting uninstall: openai\n","    Found existing installation: openai 1.78.1\n","    Uninstalling openai-1.78.1:\n","      Successfully uninstalled openai-1.78.1\n","Successfully installed colorama-0.4.6 griffe-1.7.3 httpx-sse-0.4.0 mcp-1.9.0 openai-1.81.0 openai-agents-0.0.16 pydantic-settings-2.9.1 python-dotenv-1.1.0 python-multipart-0.0.20 sse-starlette-2.3.5 starlette-0.46.2 types-requests-2.32.0.20250515 uvicorn-0.34.2\n"]}],"source":["!pip install openai-agents -q"]},{"cell_type":"code","source":["%cd /content/drive/MyDrive/AI Agents/OpenAI Agents SDK/Digital Waiter"],"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"VmORFahCRRVb","executionInfo":{"status":"ok","timestamp":1747925211208,"user_tz":-120,"elapsed":11,"user":{"displayName":"Diogo Resende","userId":"05706604408624562002"}},"outputId":"d142675f-208b-489e-ff00-332667e4f720"},"execution_count":null,"outputs":[{"output_type":"stream","name":"stdout","text":["/content/drive/MyDrive/AI Agents/OpenAI Agents SDK/Digital Waiter\n"]}]},{"cell_type":"code","source":["from google.colab import userdata\n","import os\n","\n","os.environ[\"OPENAI_API_KEY\"] = userdata.get(\"ai_agents_openai\")"],"metadata":{"id":"CqsdnFwkErkh"},"execution_count":null,"outputs":[]},{"cell_type":"code","source":["import asyncio\n","from uuid import uuid4\n","\n","from openai import OpenAI\n","from agents import (\n","    Agent,\n","    Runner,\n","    trace,\n","    ItemHelpers,\n","    MessageOutputItem,\n","    HandoffOutputItem,\n","    FileSearchTool,\n","    function_tool,\n",")\n","from agents.extensions.handoff_prompt import RECOMMENDED_PROMPT_PREFIX\n","\n","client = OpenAI()"],"metadata":{"id":"A7SV7a3REUNQ"},"execution_count":null,"outputs":[]}]}