Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
55 changes: 55 additions & 0 deletions .github/workflows/openapi-bundle.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
name: OpenAPI Bundle

on:
push:
branches: ["main"]
paths:
- "docs/openapi/**"
- "!docs/openapi/openapi.json"
pull_request:
paths:
- "docs/openapi/**"
- "!docs/openapi/openapi.json"

permissions:
contents: write

jobs:
bundle-openapi:
name: Bundle OpenAPI Spec
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
token: ${{ secrets.GITHUB_TOKEN }}

- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: "3.11"

- name: Install dependencies
run: pip install pyyaml

- name: Bundle OpenAPI spec
working-directory: ./docs/openapi
run: python bundle.py

- name: Check for changes
id: changes
run: |
if git diff --quiet docs/openapi/openapi.json; then
echo "changed=false" >> $GITHUB_OUTPUT
else
echo "changed=true" >> $GITHUB_OUTPUT
fi

- name: Commit and push changes
if: steps.changes.outputs.changed == 'true' && github.event_name == 'push'
run: |
git config --local user.email "github-actions[bot]@users.noreply.github.com"
git config --local user.name "github-actions[bot]"
git add docs/openapi/openapi.json
git commit -m "chore: regenerate openapi.json --skip-pipeline"
git push
4 changes: 4 additions & 0 deletions docs/features/mcp/agent-mode.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,10 @@ This feature is only available on `v1.4.0-prerelease1` and above. Please check t

**Agent Mode** enables Bifrost to automatically execute tool calls without requiring explicit execution API calls for each tool. This transforms Bifrost from a simple gateway into an autonomous agent runtime.

<Warning>
**Streaming Not Supported**: Agent Mode is not compatible with streaming operations (`chat_stream` and `responses_stream`). Due to architectural limitations, the autonomous tool execution loop requires complete responses before proceeding to the next iteration (we cannot store all streaming chunks in memory just "in case" we get any tool calls, this would be a big anti-pattern). Use non-streaming endpoints (`chat` and `responses`) when Agent Mode is enabled.
</Warning>

When Agent Mode is enabled:
1. LLM returns tool calls in its response
2. Bifrost automatically executes **auto-executable** tools
Expand Down
Loading
Loading