Repository navigation
Conversation
Contributor
There was a problem hiding this comment.
🔵 Needs a closer look
Local catalog checks pass, but the required Markdown link-check result remains unverified.
No open issues 🎉
What changed in this PR
Adds BotsRated’s published Python integration to the community-project catalog under Middleware.
Changes:
- Describes payment-call checks and the optional model-callable payment-check tool.
- Links directly to the integration and external issue-creation page.
- Places BotsRated alphabetically between ACGS and Tracekit.
| File | Description |
|---|---|
python/samples/community-projects.md |
Adds the BotsRated middleware catalog entry; documentation only. |
Review effort: Balanced
This branch was successfully deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Motivation & Context
I work on BotsRated (https://botsrated.com), so I'm affiliated with the project this row lists. BotsRated probes paid x402 sellers on Base and records the payTo wallet each one quotes. This PR adds our Agent Framework integration to the Middleware section of the Python catalog.
The integration is published for the Python SDK.
agent-framework-botsrated(0.1.2 on PyPI) is in our public MIT repository at https://github.com/botsrated/botsrated/tree/main/integrations/microsoft-agent-framework. It is on PyPI:pip install agent-framework-botsrated(pypi.org/project/agent-framework-botsrated). The package works like this:BotsRatedPaymentMiddlewaresubclassesFunctionMiddlewareand only checks the payment functions you name. It reads the quote (url, pay_to, amount, network) from the call's arguments, or uses an extractor you supply. It then asks BotsRated's free preflight (no key, no wallet) whether that payTo was observed for the seller.call_next. The reason becomes the call's result so the model reads it. Withon_block="raise", the run ends with aMiddlewareFailuresubclass instead. The decision is stored incontext.metadata["botsrated_decision"].botsrated_check_payment_tool()is aFunctionToolthe model can call to check a payment option itself.The row links to the integration's README, and issues go to https://github.com/botsrated/botsrated/issues/new. I'm not listing our hosted MCP server, because the catalog excludes standard MCP servers.
Testing: the package has 21 tests. They use a scripted chat client built on
FunctionInvocationLayerandChatMiddlewareLayer, so no model API key is needed. 17 tests run offline and pass with agent-framework-core 1.23.0 (an earlier version of the suite also ran on 1.22.0). 4 tests are live and call the real free BotsRated preflight and the hosted MCP server. A payment call with an unknown payTo was blocked without running, and a call with the payTo BotsRated observed for the seller ran. The payment function is a stub, so nothing was paid. To reproduce in a minute with no API key, clone the repository,pip install -e integrations/microsoft-agent-framework, then runpython integrations/microsoft-agent-framework/examples/quickstart.py.Description & Review Guide
python/samples/community-projects.md, in alphabetical order between ACGS and Tracekit.Related Issue
N/A - trivial change: one catalog row in the format the catalog criteria define, no code.
AI Assistance
AI assistance details: an AI assistant drafted the catalog row, this description, and the linked integration's code, tests and README. I tested them as described above.
Contribution Checklist
breaking changelabel (or add "[BREAKING]" to the title prefix, before or after any language prefix) — a workflow keeps the label and title prefix in sync automatically.