Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: agno-agi/agno
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: v2.1.3
Choose a base ref
Loading
...
head repository: agno-agi/agno
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: v2.1.4
Choose a head ref
Loading
  • 19 commits
  • 42 files changed
  • 13 contributors

Commits on Oct 9, 2025

  1. [feat] Add support for custom events in AGUI interface (#4960)

    ## Summary
    
    Added support for custom events in the AGUI interface to enable more
    flexible event handling.
    
    As specified in the AG-UI documentation here
    https://docs.ag-ui.com/sdk/js/core/events#customevent
    
    
    ## Type of change
    
    - [ ] Bug fix
    - [ ] New feature
    - [ ] Breaking change
    - [x] Improvement
    - [ ] Model update
    - [ ] Other:
    
    ---
    
    ## Checklist
    
    - [x] Code complies with style guidelines
    - [x] Ran format/validation scripts (`./scripts/format.sh` and
    `./scripts/validate.sh`)
    - [x] Self-review completed
    - [x] Documentation updated (comments, docstrings)
    - [x] Examples and guides: Relevant cookbook examples have been included
    or updated (if applicable)
    - [x] Tested in clean environment
    - [x] Tests added/updated (if applicable)
    
    ---------
    
    Co-authored-by: Kristian Schwienbacher <kristian.schwienbacher@raft.ai>
    Co-authored-by: manu <manuhortet@gmail.com>
    3 people authored Oct 9, 2025
    Configuration menu
    Copy the full SHA
    ec84823 View commit details
    Browse the repository at this point in the history
  2. [Fix]: Remove unused from and add missing fields into schemas in Dyna…

    …moDB + fix Dynamo Serialization and Query Syntax (#4771)
    
    ## Summary
    Issue number: #4769
    Upon working on DynamoDB as DB integration into my application, I
    realised there are some issues with it
    - DynamoDB only allows defining attributes that act as keys e.g.
    KeySchema or any GSI KeySchema.
    - Missing required attribute `workflow_id` in UserMemories Table.
    - Wrong serialisation: double stringify json and bool 
    - Wrong DynamoDB scan syntax
    
    ## Type of change
    
    - [X] Bug fix
    - [ ] New feature
    - [ ] Breaking change
    - [ ] Improvement
    - [ ] Model update
    - [ ] Other:
    
    ---
    
    ## Checklist
    
    - [X] Code complies with style guidelines
    - [X] Ran format/validation scripts (`./scripts/format.sh` and
    `./scripts/validate.sh`)
    - [X] Self-review completed
    - [ ] Documentation updated (comments, docstrings)
    - [ ] Examples and guides: Relevant cookbook examples have been included
    or updated (if applicable)
    - [X] Tested in clean environment
    - [ ] Tests added/updated (if applicable)
    
    ---
    
    ## Additional Notes
    
    Add any important context (deployment instructions, screenshots,
    security considerations, etc.)
    
    ---------
    
    Co-authored-by: Willem Carel de Jongh <willemcarel@gmail.com>
    harrytran001 and willemcdejongh authored Oct 9, 2025
    Configuration menu
    Copy the full SHA
    787e2bc View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    b8dc190 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    9cba1fb View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    f3c9ee1 View commit details
    Browse the repository at this point in the history
  6. Fix: Dictionary Key Order Causing Redundant Cache Files (#4907)

    ## Summary
    fixes #4822
    The current caching in `agno/tools/function.py` used `str()` to
    serialize dictionary arguments for cache key generation. Since str()
    preserves dictionary key order, identical data with different key orders
    produced different cache keys.
     
    Replaced str() with json.dumps(sort_keys=True) to ensure serialization
    regardless of dictionary key order
    
    (If applicable, issue number: #\_\_\_\_)
    
    ## Type of change
    
    - [x] Bug fix
    - [ ] New feature
    - [ ] Breaking change
    - [ ] Improvement
    - [ ] Model update
    - [ ] Other:
    
    ---
    
    ## Checklist
    
    - [x] Code complies with style guidelines
    - [x] Ran format/validation scripts (`./scripts/format.sh` and
    `./scripts/validate.sh`)
    - [x] Self-review completed
    - [x] Documentation updated (comments, docstrings)
    - [x] Examples and guides: Relevant cookbook examples have been included
    or updated (if applicable)
    - [x] Tested in clean environment
    - [x] Tests added/updated (if applicable)
    
    ---
    
    ## Additional Notes
    
    Add any important context (deployment instructions, screenshots,
    security considerations, etc.)
    
    Co-authored-by: manu <manuhortet@gmail.com>
    uzaxirr and manuhortet authored Oct 9, 2025
    Configuration menu
    Copy the full SHA
    553426e View commit details
    Browse the repository at this point in the history
  7. fix: handle team sessions with no runs (#4951)

    Without the minor update in line 92, we carry `runs = None` which breaks
    in line 97 when trying to iterate on runs
    manuhortet authored Oct 9, 2025
    Configuration menu
    Copy the full SHA
    3d3ef60 View commit details
    Browse the repository at this point in the history
  8. fix: ensure the RunCompletedEvent is the last created event (#4959)

    Reorganize order of actions in the streaming methods of Agent and Team,
    for the `RunCompletedEvent` to be created last.
    
    Without this change, the`created_at` of the `RunCompletedEvent` is
    smaller than the one in the memory events, creating confusion and
    problems in the OS.
    manuhortet authored Oct 9, 2025
    Configuration menu
    Copy the full SHA
    47a8714 View commit details
    Browse the repository at this point in the history
  9. chore: customer research workflow agent os (#4950)

    ## Summary
    
    - customer research workflow example with parallel steps
    
    ## Type of change
    
    - [ ] Bug fix
    - [ ] New feature
    - [ ] Breaking change
    - [ ] Improvement
    - [ ] Model update
    - [x] Other: examples update
    
    ---
    
    ## Checklist
    
    - [x] Code complies with style guidelines
    - [x] Ran format/validation scripts (`./scripts/format.sh` and
    `./scripts/validate.sh`)
    - [x] Self-review completed
    - [ ] Documentation updated (comments, docstrings)
    - [x] Examples and guides: Relevant cookbook examples have been included
    or updated (if applicable)
    - [x] Tested in clean environment
    - [ ] Tests added/updated (if applicable)
    
    ---
    
    ## Additional Notes
    
    Add any important context (deployment instructions, screenshots,
    security considerations, etc.)
    kausmeows authored Oct 9, 2025
    Configuration menu
    Copy the full SHA
    dfc328c View commit details
    Browse the repository at this point in the history
  10. chore: deactivate CI AWS tests (#4969)

    Co-authored-by: Yash Pratap Solanky <101447028+ysolanky@users.noreply.github.com>
    manuhortet and ysolanky authored Oct 9, 2025
    Configuration menu
    Copy the full SHA
    34a5bab View commit details
    Browse the repository at this point in the history

Commits on Oct 10, 2025

  1. chore: update parallel and custom function step events streaming logic (

    #4954)
    
    ## Summary
    
    - from sdk we pass workflow_context in case of streaming (`step.py`)
    when we do `self.active_executor.run` . This workflow context consists
    of things like step id, step name, step index etc which is then put in
    RunOutputEvent used by FE.
    - Now in case of a custom function step, which does `agent.run()` inside
    it. this agent run is completely unanimous and not in the flow of our
    execution. like the user decides to trigger it. and we cant directly
    inject that workflow_context into this run, so - in case of this step
    even if we yield events the FE wont know about which step it belongs to
    because it doesn't have access to that `step_id` etc info.
    
    Now we inspect all events that are yielded during the workflow run, and
    set the workflow context variables on them before yielding upwards.
    
    - Also updates parallel step event streaming logic to immediately yield
    events as they come so that FE can catch and display in real time.
       -  Old approach - collect all, yield at end
    - New approach - stream immediately (used queues as we cant yield
    directly from async running tasks)
    
    ## Type of change
    
    - [ ] Bug fix
    - [ ] New feature
    - [ ] Breaking change
    - [x] Improvement
    - [ ] Model update
    - [ ] Other:
    
    ---
    
    ## Checklist
    
    - [ ] Code complies with style guidelines
    - [ ] Ran format/validation scripts (`./scripts/format.sh` and
    `./scripts/validate.sh`)
    - [ ] Self-review completed
    - [ ] Documentation updated (comments, docstrings)
    - [ ] Examples and guides: Relevant cookbook examples have been included
    or updated (if applicable)
    - [ ] Tested in clean environment
    - [ ] Tests added/updated (if applicable)
    
    ---
    
    ## Additional Notes
    
    Add any important context (deployment instructions, screenshots,
    security considerations, etc.)
    kausmeows authored Oct 10, 2025
    Configuration menu
    Copy the full SHA
    02af061 View commit details
    Browse the repository at this point in the history
  2. fix: change dimensions type to Optional[int] in FastEmbedEmbedder (#4981

    )
    
    ## Summary
    
    Describe key changes, mention related issues or motivation for the
    changes.
    
    (If applicable, issue number: #\_\_\_\_)
    
    ## Type of change
    
    - [ ] Bug fix
    - [ ] New feature
    - [ ] Breaking change
    - [ ] Improvement
    - [ ] Model update
    - [ ] Other:
    
    ---
    
    ## Checklist
    
    - [ ] Code complies with style guidelines
    - [ ] Ran format/validation scripts (`./scripts/format.sh` and
    `./scripts/validate.sh`)
    - [ ] Self-review completed
    - [ ] Documentation updated (comments, docstrings)
    - [ ] Examples and guides: Relevant cookbook examples have been included
    or updated (if applicable)
    - [ ] Tested in clean environment
    - [ ] Tests added/updated (if applicable)
    
    ---
    
    ## Additional Notes
    
    Add any important context (deployment instructions, screenshots,
    security considerations, etc.)
    
    Co-authored-by: manu <manuhortet@gmail.com>
    Ayush0054 and manuhortet authored Oct 10, 2025
    Configuration menu
    Copy the full SHA
    9ac2098 View commit details
    Browse the repository at this point in the history
  3. chore: cancel previous workflow runs on new commits (#4980)

    Add concurrency control to prevent multiple workflow runs from the same
    branch running simultaneously.
    
    Meaning: new commits will automatically cancel any in-progress workflows
    coming from the same branch.
    manuhortet authored Oct 10, 2025
    Configuration menu
    Copy the full SHA
    d9b70ad View commit details
    Browse the repository at this point in the history
  4. feat: add Google Drive toolkit (#4658)

    ## Summary
    
    This PR introduces an enhancement to the agno repository by adding a
    Google Drive toolkit. The new toolkit enables interaction with Google
    Drive, providing methods to list files, upload files, and download
    files.
    Motivation: To allow seamless integration and management of Google Drive
    files within the agno platform, improving user productivity and
    convenience.
    
    Issue: #4232
    
    ## Type of change
    
    - [ ] Bug fix
    - [x] New feature
    - [ ] Breaking change
    - [x] Improvement
    - [ ] Model update
    - [ ] Other:
    
    ---
    
    ## Checklist
    
    - [x] Code complies with style guidelines
    - [x] Ran format/validation scripts (`./scripts/format.sh` and
    `./scripts/validate.sh`)
    - [x] Self-review completed
    - [x] Documentation updated (comments, docstrings)
    - [x] Examples and guides: Relevant cookbook examples have been included
    or updated (if applicable)
    - [x] Tested in clean environment
    - [x] Tests added/updated (if applicable)
    
    ---
    
    ## Additional Notes
    
    - Added Google Drive toolkit with `list_files`, `upload_file`, and
    `download_file` methods.
    - Integrated API authentication and robust error handling.
    - Provided comprehensive documentation and in-code comments for new
    toolkit methods.
    - No breaking changes introduced.
    - Toolkit usage is documented in the relevant code files.
    - Reviewers: Please verify API setup and test each method for expected
    behavior.
    - Ensure Google Drive API credentials are set up before testing.
    
    ---------
    
    Co-authored-by: manu <manuhortet@gmail.com>
    SaiPoornaChandraPrakash and manuhortet authored Oct 10, 2025
    Configuration menu
    Copy the full SHA
    8414b65 View commit details
    Browse the repository at this point in the history
  5. fix: run tool post-hooks in case of tool failure (#4926)

    ## Summary
    
    Fixed a critical bug (#4925)
    where tool post-hooks were not executing when tool execution failed with
    an exception. Post-hooks are now guaranteed to execute regardless of
    success or failure, matching the documented behavior and enabling
    important use cases like cleanup, error logging, and retry logic.
    
    **The Problem:**
    - Post-hooks were called AFTER the try/except block
    - When exceptions occurred, the code returned early from the except
    block
    - Post-hook execution was skipped entirely on tool failures
    
    **The Solution:**
    - Moved post-hook execution into a `finally` block
    - Post-hooks now execute regardless of success/failure
    - `AgentRunException` is properly re-raised after post-hook execution
    - Applied fix to both sync (`execute()`) and async (`aexecute()`)
    methods
    
    This fix enables critical use cases that were previously broken:
    - **Cleanup operations** - Release resources even when tools fail
    - **Error logging** - Track and log tool failures
    - **Metrics/monitoring** - Measure tool failure rates
    - **Retry logic** - Implement retry mechanisms in post-hooks
    
    (Related to the documented behavior at
    [function.py:95-97](libs/agno/agno/tools/function.py#L95-L97))
    
    ## Type of change
    
    - [x] Bug fix
    - [ ] New feature
    - [ ] Breaking change
    - [ ] Improvement
    - [ ] Model update
    - [ ] Other:
    
    ---
    
    ## Checklist
    
    - [x] Code complies with style guidelines
    - [ ] Ran format/validation scripts (`./scripts/format.sh` and
    `./scripts/validate.sh`)
    - [x] Self-review completed
    - [x] Documentation updated (comments, docstrings)
    - [x] Examples and guides: Relevant cookbook examples have been included
    or updated (if applicable)
    - [x] Tested in clean environment
    - [x] Tests added/updated (if applicable)
    
    ---
    
    ## Additional Notes
    
    ### Testing
    - All 66 existing tests pass without modification (35 unit tests + 31
    integration tests)
    - Verified both sync and async execution paths
    - Confirmed post-hooks execute on:
      - Regular exceptions (`ValueError`, `RuntimeError`, etc.)
      - `AgentRunException` (which is re-raised after post-hook)
      - Successful execution (existing behavior maintained)
    
    ### Code Changes
    Files modified:
    - `libs/agno/agno/tools/function.py`
      - `execute()` method (lines 776-850)
      - `aexecute()` method (lines 974-1058)
    
    ### Backward Compatibility
    ✅ **Fully backward compatible** - All existing tests pass without
    modification. The change only fixes the bug where post-hooks weren't
    executing on failures.
    
    ### Related Cookbook Examples
    The fix enables the retry logic example at
    `cookbook/tools/other/retry_tool_call_from_post_hook.py` to work
    correctly when tools throw exceptions.
    
    ---------
    
    Co-authored-by: manu <manuhortet@gmail.com>
    Co-authored-by: Kaustubh <shuklakaustubh84@gmail.com>
    3 people authored Oct 10, 2025
    Configuration menu
    Copy the full SHA
    216340e View commit details
    Browse the repository at this point in the history
  6. chore: store events for agent os in workflows (#4982)

    ## Summary
    
    - like agent and team, store_events should be true by default for agent
    os in workflows
    
    ## Type of change
    
    - [ ] Bug fix
    - [ ] New feature
    - [ ] Breaking change
    - [x] Improvement
    - [ ] Model update
    - [ ] Other:
    
    ---
    
    ## Checklist
    
    - [ ] Code complies with style guidelines
    - [ ] Ran format/validation scripts (`./scripts/format.sh` and
    `./scripts/validate.sh`)
    - [ ] Self-review completed
    - [ ] Documentation updated (comments, docstrings)
    - [ ] Examples and guides: Relevant cookbook examples have been included
    or updated (if applicable)
    - [ ] Tested in clean environment
    - [ ] Tests added/updated (if applicable)
    
    ---
    
    ## Additional Notes
    
    Add any important context (deployment instructions, screenshots,
    security considerations, etc.)
    kausmeows authored Oct 10, 2025
    Configuration menu
    Copy the full SHA
    07c80ae View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    25b2b7d View commit details
    Browse the repository at this point in the history
  8. feat: workflow history (#4785)

    ## Summary
    
    Workflow level-
    ```python
    Workflow(
        ...
        add_workflow_history_to_steps=True,
        num_history_runs=3,
        ...
    )
    ```
    
    Step level-
    ``` python
    Step(
        ...
        add_workflow_history=True,
        num_history_runs=3,
        ...
    )
    ```
    
    This would add the workflow history message to the step so you could
    expect more continuous execution of workflow type experience..
    
    <img width="986" height="982" alt="image"
    src="https://github.com/user-attachments/assets/5a4b9c16-39e1-4b13-94a8-e9ea360a9211"
    />
    
    Example with intent router-
    
    ```python
    🎧 Smart Customer Service Demo
    ============================================================
    
    This workflow demonstrates:
    • 🤖 Simple routing between Technical, Billing, and General support
    • 📚 Shared conversation history across ALL agents
    • 💬 Context continuity - agents remember your entire conversation
    
    🎯 TRY THESE CONVERSATIONS:
    
    🔧 TECHNICAL SUPPORT:
       • 'My API is not working'
       • 'I'm getting an error message'
       • 'There's a technical bug'
    
    💳 BILLING SUPPORT:
       • 'I need help with billing'
       • 'Can I get a refund?'
       • 'My payment was charged twice'
    
    🎧 GENERAL SUPPORT:
       • 'Hello, I have a question'
       • 'What features do you offer?'
       • 'I need general help'
    
    🌟 THE MAGIC: Try switching between topics!
       1. Start: 'Hello, I have a question'
       2. Then: 'Actually, I have a billing issue'
       3. Then: 'Is this a technical problem?'
       → Notice how each agent remembers your full conversation!
    
    Type 'exit' to quit
    ------------------------------------------------------------
     🎧 Customer : I'm getting an error message
    ┏━ Workflow Information ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
    ┃                                                                                                                                  ┃
    ┃ Workflow: Smart Customer Service                                                                                                 ┃
    ┃                                                                                                                                  ┃
    ┃ Description: Simple routing to specialists with shared conversation history                                                      ┃
    ┃                                                                                                                                  ┃
    ┃ Steps: 1 steps                                                                                                                   ┃
    ┃                                                                                                                                  ┃
    ┃ Message: I'm getting an error message                                                                                            ┃
    ┃                                                                                                                                  ┃
    ┃ Session ID: smart_customer_service_demo                                                                                          ┃
    ┃                                                                                                                                  ┃
    ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
    🔧 Routing to Technical Support
    ┏━ Step 1: Technical Support (Completed) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
    ┃                                                                                                                                  ┃
    ┃ I'm sorry to hear you're experiencing an error message. Could you please provide more details about the error message you're     ┃
    ┃ seeing? Any specifics, like the error code or when the error occurs (e.g., during login, while performing a specific task), will ┃
    ┃ help me assist you more effectively.                                                                                             ┃
    ┃                                                                                                                                  ┃
    ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
    ┏━ Router Customer Service Router (Completed) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
    ┃                                                                                                                                  ┃
    ┃ Router Summary:                                                                                                                  ┃
    ┃                                                                                                                                  ┃
    ┃  • Selected steps: Technical Support                                                                                             ┃
    ┃  • Executed steps: 1                                                                                                             ┃
    ┃                                                                                                                                  ┃
    ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
    Completed in 5.1s
    
     🎧 Customer : on loggin in to my account it says internal server error 500
    ┏━ Workflow Information ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
    ┃                                                                                                                                  ┃
    ┃ Workflow: Smart Customer Service                                                                                                 ┃
    ┃                                                                                                                                  ┃
    ┃ Description: Simple routing to specialists with shared conversation history                                                      ┃
    ┃                                                                                                                                  ┃
    ┃ Steps: 1 steps                                                                                                                   ┃
    ┃                                                                                                                                  ┃
    ┃ Message: on loggin in to my account it says internal server error 500                                                            ┃
    ┃                                                                                                                                  ┃
    ┃ Session ID: smart_customer_service_demo                                                                                          ┃
    ┃                                                                                                                                  ┃
    ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
    🔧 Routing to Technical Support
    ┏━ Step 1: Technical Support (Completed) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
    ┃                                                                                                                                  ┃
    ┃ Thank you for providing more information about the error you're encountering. An "Internal Server Error500" typically indicates  ┃
    ┃ that something has gone wrong on the server side.                                                                                ┃
    ┃                                                                                                                                  ┃
    ┃ Here's a step-by-step guide to troubleshoot this issue:                                                                          ┃
    ┃                                                                                                                                  ┃
    ┃  1 Refresh the Page: Sometimes, the issue can be temporary. Try reloading the page by clicking the refresh button in your        ┃
    ┃    browser or pressing Ctrl + R on your keyboard.                                                                                ┃
    ┃  2 Clear Browser Cache: Cached files can sometimes cause issues with loading the most up-to-date version of the page. Try        ┃
    ┃    clearing your browser cache:                                                                                                  ┃
    ┃                                                                                                                                  ┃
    ┃  • For Google Chrome, go to Settings > Privacy and Security > Clear browsing data.                                               ┃
    ┃  • For Firefox, go to Options > Privacy & Security > Cookies and Site Data > Clear Data.                                         ┃
    ┃  • For Safari, click Safari > Preferences > Privacy > Manage Website Data and remove your site's data.                           ┃
    ┃                                                                                                                                  ┃
    ┃  3 Try a Different Browser or Incognito Mode: To check if the issue is browser-specific, try logging in using a different        ┃
    ┃    browser or an incognito/private window.                                                                                       ┃
    ┃  4 Check Server Status: Verify if the issue might be widespread by checking for any outage announcements on our status page or   ┃
    ┃    social media.                                                                                                                 ┃
    ┃  5 Disable Extensions: Sometimes, browser extensions can interfere. Try disabling them and see if it resolves the issue.         ┃
    ┃  6 Contact Support: If none of the steps above resolve the issue, it may be best to contact our technical support team directly. ┃
    ┃    They can look into your account and server logs to get more details on the problem.                                           ┃
    ┃                                                                                                                                  ┃
    ┃ Please let me know if any of these steps help resolve the issue or if I can assist you further!                                  ┃
    ┃                                                                                                                                  ┃
    ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
    ┏━ Router Customer Service Router (Completed) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
    ┃                                                                                                                                  ┃
    ┃ Router Summary:                                                                                                                  ┃
    ┃                                                                                                                                  ┃
    ┃  • Selected steps: Technical Support                                                                                             ┃
    ┃  • Executed steps: 1                                                                                                             ┃
    ┃                                                                                                                                  ┃
    ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
    Completed in 7.4s
    
     🎧 Customer : ok thanks, also do i need to make sure my billing is done?
    ┏━ Workflow Information ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
    ┃                                                                                                                                  ┃
    ┃ Workflow: Smart Customer Service                                                                                                 ┃
    ┃                                                                                                                                  ┃
    ┃ Description: Simple routing to specialists with shared conversation history                                                      ┃
    ┃                                                                                                                                  ┃
    ┃ Steps: 1 steps                                                                                                                   ┃
    ┃                                                                                                                                  ┃
    ┃ Message: ok thanks, also do i need to make sure my billing is done?                                                              ┃
    ┃                                                                                                                                  ┃
    ┃ Session ID: smart_customer_service_demo                                                                                          ┃
    ┃                                                                                                                                  ┃
    ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
    💳 Routing to Billing Support
    ┏━ Step 1: Billing Support (Completed) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
    ┃                                                                                                                                  ┃
    ┃ Certainly! It's always a good idea to ensure your billing information is up-to-date to avoid service interruptions. Let me       ┃
    ┃ verify your account details for any pending payments or updates needed. Could you confirm if you'd like me to check your current ┃
    ┃ billing status or if you had any recent notifications about billing or payments? If there's anything specific you need           ┃
    ┃ assistance with regarding your billing, feel free to let me know!                                                                ┃
    ┃                                                                                                                                  ┃
    ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
    ┏━ Router Customer Service Router (Completed) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
    ┃                                                                                                                                  ┃
    ┃ Router Summary:                                                                                                                  ┃
    ┃                                                                                                                                  ┃
    ┃  • Selected steps: Billing Support                                                                                               ┃
    ┃  • Executed steps: 1                                                                                                             ┃
    ┃                                                                                                                                  ┃
    ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
    Completed in 3.8s
    
     🎧 Customer : could less funds in billing account be reason for the above error?
    ┏━ Workflow Information ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
    ┃                                                                                                                                  ┃
    ┃ Workflow: Smart Customer Service                                                                                                 ┃
    ┃                                                                                                                                  ┃
    ┃ Description: Simple routing to specialists with shared conversation history                                                      ┃
    ┃                                                                                                                                  ┃
    ┃ Steps: 1 steps                                                                                                                   ┃
    ┃                                                                                                                                  ┃
    ┃ Message: could less funds in billing account be reason for the above error?                                                      ┃
    ┃                                                                                                                                  ┃
    ┃ Session ID: smart_customer_service_demo                                                                                          ┃
    ┃                                                                                                                                  ┃
    ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
    🔧 Routing to Technical Support
    ┏━ Step 1: Technical Support (Completed) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
    ┃                                                                                                                                  ┃
    ┃ Generally, the "Internal Server Error500" is not directly related to billing issues. This error typically indicates an           ┃
    ┃ unexpected situation on the server side that prevents it from fulfilling the request. However, being behind on billing can lead  ┃
    ┃ to service interruptions which might cause access issues or other errors.                                                        ┃
    ┃                                                                                                                                  ┃
    ┃ To ensure the error is not related to billing, here’s what you can do:                                                           ┃
    ┃                                                                                                                                  ┃
    ┃  1 Check Your Billing Status: Log in to your account management or billing portal to verify that your payments are up-to-date.   ┃
    ┃    Look for any outstanding invoices or notifications about due payments.                                                        ┃
    ┃  2 Payment Method Details: Ensure that your payment method details, such as your credit card information, are current and        ┃
    ┃    correct to avoid processing issues.                                                                                           ┃
    ┃  3 Email or Notifications: Review any emails or notifications from our service for alerts or reminders regarding billing.        ┃
    ┃                                                                                                                                  ┃
    ┃ If your billing is in order and the error persists, then it is most likely unrelated to your billing status, and continuing with ┃
    ┃ troubleshooting steps mentioned previously would be the best course of action. If you need specific help checking your billing   ┃
    ┃ details, let me know, and I can guide you through the process!                                                                   ┃
    ┃                                                                                                                                  ┃
    ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
    ┏━ Router Customer Service Router (Completed) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
    ┃                                                                                                                                  ┃
    ┃ Router Summary:                                                                                                                  ┃
    ┃                                                                                                                                  ┃
    ┃  • Selected steps: Technical Support                                                                                             ┃
    ┃  • Executed steps: 1                                                                                                             ┃
    ┃                                                                                                                                  ┃
    ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
    Completed in 6.3s
    ```
    
    ## Type of change
    
    - [ ] Bug fix
    - [x] New feature
    - [ ] Breaking change
    - [ ] Improvement
    - [ ] Model update
    - [ ] Other:
    
    ---
    
    ## Checklist
    
    - [x] Code complies with style guidelines
    - [x] Ran format/validation scripts (`./scripts/format.sh` and
    `./scripts/validate.sh`)
    - [x] Self-review completed
    - [x] Documentation updated (comments, docstrings)
    - [x] Examples and guides: Relevant cookbook examples have been included
    or updated (if applicable)
    - [x] Tested in clean environment
    - [ ] Tests added/updated (if applicable)
    
    ---
    
    ## Additional Notes
    
    Add any important context (deployment instructions, screenshots,
    security considerations, etc.)
    
    ---------
    
    Co-authored-by: Dirk Brand <51947788+dirkbrnd@users.noreply.github.com>
    Co-authored-by: Dirk Brand <dirkbrnd@gmail.com>
    Co-authored-by: manu <manuhortet@gmail.com>
    4 people authored Oct 10, 2025
    Configuration menu
    Copy the full SHA
    0b702f0 View commit details
    Browse the repository at this point in the history
  9. chore: Release 2.1.4 (#4966)

    # Changelog
    
    ## New Features:
    
    - **Workflow History**: Support to add workflow history to all or
    individual steps for a better continuous conversational experience
    - **Google Drive Toolkit**: Added the `GoogleDriveTools` class, to
    provide your Agents with read and write access to Google Drive.
    
    ## Improvements:
    
    - **Update parallel and custom function step events streaming logic in
    workflows:**
    - Inspect all events that are yielded during the workflow run, and set
    the workflow context variables on them before yielding upwards.
    - Update parallel step event streaming logic to immediately yield events
    as they come so that FE can catch and display in real time.
            - Old approach - collect all, yield at end
    - New approach - stream immediately (used queues as we cant yield
    directly from async running tasks)
    - **Custom events with AG-UI**: The AG-UI integration now support custom
    events. Your Agno custom events will now be delivered in the AG-UI
    interface in the conventional [AG-UI custom
    event](https://docs.ag-ui.com/concepts/events#custom) format.
    - **Tool post-hooks in case of tool failure**: Our tool post-hooks now
    also run when the tool run fails. This enables you to easily add logic
    to run in case of tool failures!
    
    ## Bug Fixes:
    
    - **Order of persisted streaming events**: Fix a bug where the
    created_at of some Memory events would be larger than the created_at of
    the final RunCompleted event.
    - **Handle Team sessions with no runs**: When cancelling a Team run
    early enough, you can end with a session that contains no run objects.
    Some functionality was failing in this edge case.
    - **Dynamo Table definitions:** Fixed a bug where some DynamoDB schemas
    incorrectly defined non key attributes
    - **Dictionary Key Order Causing Redundant Cache Files:** The current
    caching in `agno/tools/function.py` used `str()` to serialize dictionary
    arguments for cache key generation. Since `str()` preserves dictionary
    key order, identical data with different key orders produced different
    cache keys. Replaced `str()` with `json.dumps(sort_keys=True)` to ensure
    serialization regardless of dictionary key order
    - **Change dimensions type to Optional[int] in FastEmbedEmbedder :**
    Fixed an issue where FastEmbedEmbedder didn’t allow optional dimensions.
    
    ---------
    
    Co-authored-by: Yash Pratap Solanky <101447028+ysolanky@users.noreply.github.com>
    kausmeows and ysolanky authored Oct 10, 2025
    Configuration menu
    Copy the full SHA
    038a1a7 View commit details
    Browse the repository at this point in the history
Loading
Morty Proxy This is a proxified and sanitized view of the page, visit original site.